Content Marketing

Vytváranie úryvkov v PHP alebo WordPress: Techniky počítania slov, viet a odsekov

Vytváranie úryvkov v PHP je bežnou úlohou pri správe obsahu a vývoji webových stránok. Výňatok je skrátená verzia dlhšej časti obsahu, ktorá sa často používa na zobrazenie ukážky alebo zhrnutia. Vývojári PHP môžu potrebovať vytvoriť úryvky založené na počte slov, viet alebo odsekov. Tento článok skúma spôsoby, ako to dosiahnuť, spolu s osvedčenými postupmi a riešením prípadov, keď počet presahuje dĺžku obsahu.

Výňatok podľa počtu slov

Vytvorenie úryvku podľa počtu slov zahŕňa skrátenie obsahu po určitom počte slov.

function excerptByWordCount($content, $wordCount) {
    $words = explode(' ', $content);
    if (count($words) > $wordCount) {
        $words = array_slice($words, 0, $wordCount);
        $content = implode(' ', $words);
    }
    return $content;
}

Použitie:

// Excerpt of first 50 words
$wordCountExcerpt = excerptByWordCount($originalContent, 50); 

Osvedčené postupy a zvládanie nadmerných nákladov:

  • Skontrolujte počet slov: Pred skrátením skontrolujte, či počet slov pôvodného obsahu nepresahuje požadovanú dĺžku úryvku. Ak nie, vráťte pôvodný obsah.
  • Vyhnite sa lámaniu slov: Uistite sa, že posledné slovo v úryvku je úplné, aby bola zachovaná čitateľnosť.
  • Pridať elipsu: Voliteľne pridajte tri bodky (...) na konci, ak je obsah skrátený.

Výňatok podľa počtu viet

Vytváranie úryvkov podľa počtu viet zahŕňa ponechanie určitého počtu viet z obsahu.

function excerptBySentenceCount($content, $sentenceCount) {
    $sentences = explode('.', $content);
    if (count($sentences) > $sentenceCount) {
        $sentences = array_slice($sentences, 0, $sentenceCount);
        $content = implode('. ', $sentences) . '.';
    }
    return $content;
}

Ako používať prášok CBD?

// Excerpt of first 3 sentences
$sentenceCountExcerpt = excerptBySentenceCount($originalContent, 3); 

Ak chcete aktualizovať excerptBySentenceCount Ak chcete zahrnúť vety s ľubovoľnou interpunkciou na konci (nielen bodkami), môžete túto funkciu upraviť tak, aby sa obsah rozdelil podľa regulárneho výrazu, ktorý zodpovedá akejkoľvek typickej interpunkcii na konci vety, ako je bodka, výkričník alebo otáznik. Tu je návod, ako to môžete urobiť v PHP:

function excerptBySentenceCount($content, $sentenceCount) {
    // Use a regular expression to split the content by sentence-ending punctuation
    $sentences = preg_split('/(?<=[.!?])\s+/', $content, -1, PREG_SPLIT_NO_EMPTY);

    if (count($sentences) > $sentenceCount) {
        $sentences = array_slice($sentences, 0, $sentenceCount);
        $content = implode(' ', $sentences);
        // Check the last character to ensure it ends with punctuation
        if (!preg_match('/[.!?]$/', $content)) {
            $content .= '.';
        }
    }
    return $content;
}

Táto funkcia využíva preg_split s regulárnym výrazom (regex) /(?<=[.!?])\s+/ ktorý rozdeľuje text na medzery (\s+), ktoré nasledujú za bodkou, výkričníkom alebo otáznikom ([.!?]). (?<=...) je pozitívny pohľad za tvrdením, ktorý kontroluje prítomnosť interpunkcie na konci vety bez toho, aby ju zahrnul do delenia. The PREG_SPLIT_NO_EMPTY flag zaisťuje, že sa vracajú len neprázdne kusy.

Nakoniec funkcia skontroluje, či posledný znak výsledného obsahu je interpunkcia na konci vety. Ak nie, na koniec úryvku pridá bodku, aby sa zachovala správna interpunkcia.

Osvedčené postupy a zvládanie nadmerných nákladov:

  • Správna detekcia vety: Na rozdelenie viet použite bodku, za ktorou nasleduje medzera. Tým sa zabráni rozdeleniu na obdobia používané v skratkách.
  • Skontrolujte počet viet: Podobne ako pri počte slov overte, či je počet viet pôvodného obsahu dostatočný.
  • Zachovať interpunkciu: Uistite sa, že úryvok končí správnou interpunkciou, zvyčajne bodkou.

Výňatok podľa počtu odsekov

Vytváranie úryvkov podľa počtu odsekov zahŕňa skrátenie obsahu po určitom počte odsekov.

function excerptByParagraphCount($content, $paragraphCount) {
    $paragraphs = explode("\n", $content);
    if (count($paragraphs) > $paragraphCount) {
        $paragraphs = array_slice($paragraphs, 0, $paragraphCount);
        $content = implode("\n", $paragraphs);
    }
    return $content;
}

Použitie:

// Excerpt of first 2 paragraphs
$paragraphCountExcerpt = excerptByParagraphCount($originalContent, 2); 

Osvedčené postupy a zvládanie nadmerných nákladov:

  • Použiť nové riadky pre odseky: Odseky sú zvyčajne oddelené novými riadkami (\n). Uistite sa, že váš obsah má tento formát.
  • Skontrolujte počet odsekov: Overte, či je počet odsekov obsahu primeraný pre úryvok.
  • Rešpektujte štruktúru obsahu: Zachovajte štruktúru odsekov v úryvku, aby ste zachovali integritu obsahu.

Výňatok podľa počtu odsekov HTML

Pri práci s obsahom HTML budete chcieť extrahovať úryvky na základe <p> tagy na zachovanie štruktúry a formátovania pôvodného obsahu.

function excerptByHtmlParagraphCount($content, $paragraphCount) {
    preg_match_all('/<p[^>]*>.*?<\/p>/', $content, $paragraphs);
    $paragraphs = $paragraphs[0];

    if (count($paragraphs) > $paragraphCount) {
        $paragraphs = array_slice($paragraphs, 0, $paragraphCount);
        $content = implode(' ', $paragraphs);
    }
    return $content;
}

Použitie:

// Excerpt of first 2 paragraphs
$paragraphCountExcerpt = excerptByHtmlParagraphCount($htmlContent, 2); 

Osvedčené postupy a zvládanie nadmerných nákladov:

  • Regulárne výrazy pre zhodu značiek: Použitie preg_match_all s regulárnym výrazom na zhodu <p> značky. Tento prístup zabezpečuje zachovanie štruktúry a atribútov značiek odseku.
  • Rešpektujte štruktúru HTML:
    Uistite sa, že úryvok zachováva štruktúru HTML. Vyhnite sa zlomeniu značiek, čo môže viesť k problémom s vykresľovaním.
  • Skontrolujte počet odsekov: Rovnako ako v prípade obyčajného textu si overte, či je počet odsekov pôvodného obsahu pre úryvok dostatočný.
  • Spracovať vnorené značky: Pamätajte, že odseky môžu obsahovať ďalšie prvky HTML, ako sú odkazy alebo rozpätia. Uistite sa, že vaše regulárne výrazy počítajú s vnorenými značkami v rámci odsekov.

Vytváranie úryvkov na základe počtu odsekov HTML v PHP je pokročilejšia úloha v porovnaní so spracovaním obyčajného textu. Na zachovanie integrity štruktúry HTML je dôležité používať regulárne výrazy opatrne. Táto metóda je obzvlášť dôležitá pre webové aplikácie, kde je potrebné zobraziť obsah v pôvodnom formáte. Ako vždy overte dĺžku pôvodného obsahu a pri prezentovaní úryvkov zvážte používateľskú skúsenosť.

Áno, WordPress má svoju vlastnú sadu funkcií a vlastností, ktoré uľahčujú vytváranie úryvkov, čo môže výrazne zjednodušiť proces v porovnaní s manuálnou manipuláciou s úryvkami v PHP. Tu je prehľad kľúčových funkcií WordPress súvisiacich s úryvkami:

Funkcia výpisu vo WordPress

WordPress API ponúka robustný systém na spracovanie úryvkov, vďaka čomu nie je manuálna implementácia funkcií PHP pre väčšinu typických prípadov použitia potrebná. WordPress poskytuje užívateľsky prívetivý spôsob správy súhrnov príspevkov, či už ide o prispôsobenie dĺžky alebo zmenu čítaj viac textu alebo pomocou značiek šablón na zobrazenie úryvkov.

the_excerpt()

Táto šablóna WordPress automaticky vytlačí úryvok z príspevku. Bežne sa používa v témach na zobrazenie súhrnu príspevkov na archívnych stránkach.

  • Použitie: Miesto the_excerpt() v The Loop vo vašich súboroch tém, kde chcete, aby sa úryvok objavil.
  • Správanie: Štandardne zobrazuje prvých 55 slov príspevku. Ak je v editore príspevkov manuálne nastavený úryvok, zobrazí sa namiesto toho.

get_the_excerpt()

Táto funkcia načíta úryvok bez jeho zobrazenia, čo vám dáva väčšiu kontrolu nad tým, ako a kde ho použiť.

  • Použitie: get_the_excerpt($post) možno použiť na načítanie úryvku konkrétneho príspevku.
  • prispôsobenie: Pred zobrazením vráteného reťazca môžete podľa potreby manipulovať.

Prispôsobenie dĺžky úryvku

WordPress vám umožňuje zmeniť predvolenú dĺžku úryvku cez excerpt_length filter.

function custom_excerpt_length($length) {
    return 20; // Return 20 words as the new excerpt length
}
add_filter('excerpt_length', 'custom_excerpt_length');

Spravujte viac značiek a úryvkov z viac textu

the_content('Read more')

Táto funkcia zobrazuje obsah, kým nenarazí na značku „viac“. Je to užitočné na zobrazenie úryvku vlastnej dĺžky priamo v editore obsahu.

Prispôsobenie úryvku Viac textu

Môžete prispôsobiť text, ktorý sa zobrazí na konci úryvku (napr […]) pomocou excerpt_more filter.

function custom_excerpt_more($more) {
    return '...'; // Replace the default [...] with ...
}
add_filter('excerpt_more', 'custom_excerpt_more');

Spracovanie HTML v úryvkoch

Výňatky z WordPress sú štandardne ako obyčajný text. Ak potrebujete zachovať HTML tagy v úryvkoch, musíte si vytvoriť vlastnú funkciu alebo použiť plugin určený na tento účel.

Vlastné kódovanie alebo doplnky však môžu byť potrebné pre pokročilé požiadavky, ako je zachovanie značiek HTML v úryvkoch alebo vytváranie úryvkov na základe konkrétnych prvkov, ako sú vety alebo odseky.

Douglas Karr

Douglas Karr je CMO OpenINSIGHTS a zakladateľ spoločnosti Martech Zone. Douglas pomohol desiatkam úspešných startupov MarTech, asistoval pri due diligence v hodnote viac ako 5 miliárd dolárov v akvizíciách a investíciách Martech a naďalej pomáha spoločnostiam pri implementácii a automatizácii ich predajných a marketingových stratégií. Douglas je medzinárodne uznávaný odborník na digitálnu transformáciu a MarTech a rečník. Douglas je tiež publikovaným autorom príručky Dummie a knihy obchodného vedenia.

súvisiace články

Tlačidlo späť nahor
Zavrieť

Zistený blok reklám

Martech Zone vám tento obsah môže poskytnúť bezplatne, pretože naše stránky speňažujeme prostredníctvom príjmov z reklám, pridružených odkazov a sponzorstiev. Ocenili by sme, keby ste pri prezeraní našej stránky odstránili blokovanie reklám.