Turinio Rinkodara

Ištraukų kūrimas PHP arba WordPress: žodžių, sakinių ir pastraipų skaičiavimo metodai

Kuriame ištraukas PHP yra įprasta turinio valdymo ir svetainių kūrimo užduotis. Ištrauka yra sutrumpinta ilgesnio turinio versija, dažnai naudojama peržiūrai arba santraukai pateikti. PHP kūrėjams gali tekti kurti ištraukas pagal žodžių, sakinių ar pastraipų skaičių. Šiame straipsnyje nagrinėjami metodai, kaip tai pasiekti, taip pat geriausia praktika ir sprendžiami atvejai, kai skaičius viršija turinio ilgį.

Žodžių skaičiavimo ištrauka

Kuriant ištrauką pagal žodžių skaičių reikia sutrumpinti turinį po tam tikro žodžių skaičiaus.

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

Naudojimas:

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

Geriausia praktika ir perteklinių sąskaitų tvarkymas:

  • Patikrinkite žodžių skaičių: Prieš trumpindami patikrinkite, ar pradinio turinio žodžių skaičius neviršija norimo ištraukos ilgio. Jei ne, grąžinkite originalų turinį.
  • Venkite laužyti žodžių: Įsitikinkite, kad paskutinis ištraukos žodis yra baigtas, kad būtų lengviau skaityti.
  • Pridėkite elipsę: Pasirinktinai pridėkite elipsę (...) pabaigoje, jei turinys sutrumpintas.

Ištrauka pagal Sakinių skaičius

Kuriant ištraukas pagal sakinių skaičių reikia išlaikyti tam tikrą sakinių skaičių iš turinio.

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

Naudojimas

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

Norėdami atnaujinti excerptBySentenceCount funkcija, kad įtrauktumėte sakinius su bet kokiais skyrybos ženklais pabaigoje (ne tik taškais), galite modifikuoti funkciją, kad turinys būtų padalintas į įprastą reiškinį, atitinkantį bet kokį tipišką sakinio pabaigos skyrybos ženklą, pvz., tašką, šauktuką ar klaustuką. Štai kaip tai galite padaryti 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;
}

Ši funkcija naudoja preg_split su reguliaria išraiška (reguliariai) /(?<=[.!?])\s+/ kuris skaido tekstą tarpais (\s+) po taško, šauktuko arba klaustuko ([.!?]). (?<=...) yra teigiamas žvilgsnis į teiginį, kuris tikrina, ar nėra sakinio pabaigos skyrybos ženklų, neįtraukiant jų į skilimą. The PREG_SPLIT_NO_EMPTY vėliava užtikrina, kad grąžinami tik ne tušti vienetai.

Galiausiai funkcija patikrina, ar paskutinis gauto turinio simbolis yra sakinio pabaigos skyrybos ženklas. Jei ne, ištraukos pabaigoje prideda tašką, kad būtų išlaikytas tinkamas skyrybos ženklas.

Geriausia praktika ir perteklinių sąskaitų tvarkymas:

  • Tinkamas sakinio aptikimas: Norėdami padalinti sakinius, naudokite tašką ir tarpą. Taip išvengiama suskirstymo į santrumpose naudojamus taškus.
  • Patikrinkite sakinių skaičių: Panašiai kaip žodžių skaičius, patikrinkite, ar pakanka pradinio turinio sakinių skaičiaus.
  • Išlaikyti skyrybos ženklus: Įsitikinkite, kad ištrauka baigiasi tinkamais skyrybos ženklais, paprastai tašku.

Ištrauka pagal pastraipų skaičių

Kuriant ištraukas pagal pastraipų skaičių reikia sutrumpinti turinį po tam tikro pastraipų skaičiaus.

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

Naudojimas:

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

Geriausia praktika ir perteklinių sąskaitų tvarkymas:

  • Pastraipoms naudokite naujas eilutes: Pastraipos paprastai atskiriamos naujomis eilutėmis (\n). Įsitikinkite, kad jūsų turinys atitinka šį formatą.
  • Patikrinkite pastraipų skaičių: Patvirtinkite, ar turinio pastraipų skaičius yra pakankamas ištraukai.
  • Gerbkite turinio struktūrą: Išsaugokite ištraukos pastraipų struktūrą, kad išlaikytumėte turinio vientisumą.

Ištrauka pagal HTML pastraipų skaičių

Kai dirbate su HTML turiniu, norėsite ištraukti ištraukas pagal <p> žymas, kad išlaikytų pradinio turinio struktūrą ir formatavimą.

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;
}

Naudojimas:

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

Geriausia praktika ir perteklinių sąskaitų tvarkymas:

  • Žymų atitikimo reguliarieji reiškiniai: naudojimas preg_match_all su reguliariąja išraiška, kad ji atitiktų <p> žymės. Šis metodas užtikrina, kad pastraipų žymų struktūra ir atributai išsaugomi.
  • Gerbkite HTML struktūrą:
    Įsitikinkite, kad ištrauka palaiko HTML struktūrą. Venkite sulaužyti žymas, nes tai gali sukelti atvaizdavimo problemų.
  • Patikrinkite pastraipų skaičių: Kaip ir paprasto teksto atveju, patikrinkite, ar originalaus turinio pastraipų skaičius yra pakankamas ištraukai.
  • Tvarkyti įdėtas žymas: Atminkite, kad pastraipose gali būti kitų HTML elementų, pvz., nuorodų ar tarpų. Įsitikinkite, kad pastraipose nėra įdėtų žymų.

Ištraukų kūrimas pagal HTML pastraipų skaičių PHP yra sudėtingesnė užduotis, palyginti su paprasto teksto tvarkymu. Norint išlaikyti HTML struktūros vientisumą, įprastus posakius būtina naudoti atsargiai. Šis metodas ypač tinka žiniatinklio programoms, kuriose turinys turi būti rodomas su originaliu formatavimu. Kaip visada, patvirtinkite originalaus turinio ilgį ir pateikdami ištraukas atsižvelkite į naudotojo patirtį.

Taip, „WordPress“ turi savo funkcijų ir funkcijų rinkinį, palengvinančių ištraukų kūrimą, o tai gali labai supaprastinti procesą, palyginti su rankiniu ištraukų tvarkymu PHP. Čia pateikiama pagrindinių „WordPress“ funkcijų, susijusių su ištraukomis, apžvalga:

„WordPress“ ištraukos funkcija

„WordPress“ API siūlo tvirtą ištraukų tvarkymo sistemą, todėl daugeliui tipiškų naudojimo atvejų nereikia rankiniu būdu įdiegti PHP funkcijų. „WordPress“ suteikia vartotojui patogų būdą tvarkyti įrašų santraukas, nesvarbu, ar tai būtų ilgio tinkinimas, keitimas Skaityti daugiau tekstą arba naudodami šablonų žymas, kad būtų rodomos ištraukos.

the_excerpt()

Ši „WordPress“ šablono žyma automatiškai atspausdina įrašo ištrauką. Jis dažniausiai naudojamas temose, kad būtų rodoma įrašo santrauka archyvo puslapiuose.

  • Naudojimas: Vieta the_excerpt() „The Loop“ temos failuose, kur norite, kad būtų rodoma ištrauka.
  • Elgesys: Pagal numatytuosius nustatymus rodomi pirmieji 55 įrašo žodžiai. Jei įrašų rengyklėje yra rankiniu būdu nustatyta ištrauka, ji bus rodoma.

get_the_excerpt()

Ši funkcija nuskaito ištrauką jos nerodydami, todėl galite geriau valdyti, kaip ir kur ją naudoti.

  • Naudojimas: get_the_excerpt($post) gali būti naudojamas norint gauti konkretaus įrašo ištrauką.
  • Pritaikymas: Prieš rodydami grąžintą eilutę, galite manipuliuoti pagal poreikį.

Ištraukos ilgio pritaikymas

„WordPress“ leidžia pakeisti numatytąjį ištraukos ilgį naudodami excerpt_length filtras.

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

Daugiau žymų ir teksto ištraukų tvarkymas

the_content('Read more')

Ši funkcija rodo turinį tol, kol susiduria su žyma „daugiau“. Tai naudinga norint rodyti pasirinktinio ilgio ištrauką tiesiog turinio rengyklėje.

Tinkinkite ištrauką Daugiau teksto

Galite tinkinti tekstą, kuris rodomas ištraukos pabaigoje (pvz., […]) naudodami excerpt_more filtras.

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

HTML tvarkymas ištraukose

Pagal numatytuosius nustatymus „WordPress“ ištraukos yra paprasto teksto. Jei norite išsaugoti HTML žymas ištraukose, turite sukurti pasirinktinę funkciją arba naudoti tam skirtą papildinį.

Tačiau tinkinto kodavimo arba papildinių gali prireikti siekiant išplėstinių reikalavimų, pvz., išsaugoti HTML žymas ištraukose arba kurti ištraukas pagal konkrečius elementus, pvz., sakinius ar pastraipas.

Douglas Karr

Douglas Karr yra BRO OpenINSIGHTS ir įkūrėjas Martech Zone. Douglas padėjo daugybei sėkmingų MarTech pradedančiųjų įmonių, padėjo atlikti daugiau nei 5 mlrd. Douglas yra tarptautiniu mastu pripažintas skaitmeninės transformacijos ir MarTech ekspertas bei pranešėjas. Douglasas taip pat yra paskelbtas Dummie vadovo ir verslo lyderystės knygos autorius.

Susiję straipsniai

Atgal į viršų mygtukas
arti

Aptiktas skelbimų blokas

Martech Zone gali pateikti jums šį turinį nemokamai, nes gauname pajamų iš savo svetainės per pajamas iš skelbimų, filialų nuorodas ir rėmimą. Būtume dėkingi, jei peržiūrėdami mūsų svetainę pašalintumėte skelbimų blokavimo priemonę.