Sisältö Markkinointi

Otteiden luominen PHP:llä tai WordPressillä: Sana-, lause- ja kappalelaskentatekniikat

Luodaan otteita sisään PHP on yleinen tehtävä sisällönhallinnassa ja verkkosivujen kehittämisessä. Ote on lyhennetty versio pidemmästä sisällöstä, jota käytetään usein esikatselun tai yhteenvedon tarjoamiseen. PHP-kehittäjien on ehkä luotava otteita sanojen, lauseiden tai kappalemäärien perusteella. Tässä artikkelissa tarkastellaan menetelmiä tämän saavuttamiseksi sekä parhaita käytäntöjä ja tapauksia, joissa määrä ylittää sisällön pituuden.

Ote Word Countista

Otteen luominen sanamäärän mukaan edellyttää sisällön lyhentämistä tietyn sanamäärän jälkeen.

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

Käyttö:

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

Parhaat käytännöt ja ylilaskujen käsittely:

  • Tarkista sanamäärä: Tarkista ennen katkaisua, ylittääkö alkuperäisen sisällön sanamäärä halutun otteen pituuden. Jos ei, palauta alkuperäinen sisältö.
  • Vältä sanojen rikkomista: Varmista luettavuuden säilyttämiseksi, että otteen viimeinen sana on täydellinen.
  • Lisää ellipsi: Lisää valinnaisesti ellipsi (...) lopussa, jos sisältö on katkaistu.

Ote lausekkeesta

Otteiden luominen lauseiden lukumäärän mukaan edellyttää, että tietty määrä lauseita säilytetään sisällöstä.

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

Käyttö

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

Voit päivittää excerptBySentenceCount -funktio sisällyttääksesi lauseita, joiden lopussa on välimerkkejä (ei vain pisteitä), voit muokata toimintoa jakaaksesi sisällön säännöllisellä lausekkeella, joka vastaa mitä tahansa tyypillistä lauseen päättyvää välimerkkiä, kuten pistettä, huutomerkkiä tai kysymysmerkkiä. Näin voit tehdä sen PHP:ssä:

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ämä toiminto käyttää preg_split säännöllisellä lausekkeella (regex) /(?<=[.!?])\s+/ joka jakaa tekstin välilyönneiksi (\s+), jotka seuraavat pistettä, huutomerkkiä tai kysymysmerkkiä ([.!?]). (?<=...) on positiivinen lookback-vahvistus, joka tarkistaa lauseen loppujen välimerkkien olemassaolon sisällyttämättä niitä jakoon. The PREG_SPLIT_NO_EMPTY lippu varmistaa, että vain ei-tyhjät palat palautetaan.

Lopuksi funktio tarkistaa, onko tuloksena olevan sisällön viimeinen merkki lauseen päättävä välimerkki. Jos ei, se lisää pisteen, jotta otteen loppuun säilyy oikea välimerkki.

Parhaat käytännöt ja ylilaskujen käsittely:

  • Oikea lauseen tunnistus: Käytä pistettä ja välilyöntiä lauseiden jakamiseen. Näin vältetään jakaminen lyhenteissä käytettyihin pisteisiin.
  • Tarkista lauseiden määrä: Samoin kuin sanamäärä, tarkista, onko alkuperäisen sisällön lauseiden määrä riittävä.
  • Säilytä välimerkit: Varmista, että ote loppuu oikeilla välimerkeillä, yleensä pisteellä.

Ote kappalemäärästä

Katkelmien luominen kappalemäärän mukaan edellyttää sisällön lyhentämistä tietyn kappalemäärän jälkeen.

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

Käyttö:

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

Parhaat käytännöt ja ylilaskujen käsittely:

  • Käytä uusia rivejä kappaleissa: Kappaleet erotetaan yleensä uusilla riveillä (\n). Varmista, että sisältösi noudattaa tätä muotoa.
  • Tarkista kappalemäärä: Tarkista, onko sisällön kappalemäärä riittävä otteeseen.
  • Kunnioita sisältörakennetta: Säilytä otteen kappaleiden rakenne sisällön eheyden säilyttämiseksi.

Ote HTML-kappaleiden määrästä

Kun käsittelet HTML-sisältöä, haluat poimia otteita sen perusteella <p> -tunnisteet säilyttämään alkuperäisen sisällön rakenteen ja muotoilun.

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

Käyttö:

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

Parhaat käytännöt ja ylilaskujen käsittely:

  • Säännölliset lausekkeet tunnistehaulle: Käyttää preg_match_all säännöllisen lausekkeen kanssa <p> tunnisteet. Tämä lähestymistapa varmistaa, että kappaletunnisteiden rakenne ja attribuutit säilyvät.
  • Kunnioita HTML-rakennetta:
    Varmista, että ote säilyttää HTML-rakenteen. Vältä tagien rikkomista, mikä voi johtaa renderöintiongelmiin.
  • Tarkista kappalemäärä: Kuten pelkkää tekstiä käytettäessä, tarkista, riittääkö alkuperäisen sisällön kappalemäärä otteeseen.
  • Käsittele sisäkkäisiä tunnisteita: Muista, että kappaleet voivat sisältää muita HTML-elementtejä, kuten linkkejä tai jaksoja. Varmista, että säännöllinen lauseke sisältää sisäkkäisiä tageja kappaleiden sisällä.

Otteiden luominen PHP:n HTML-kappalemäärän perusteella on edistyneempi tehtävä verrattuna pelkän tekstin käsittelyyn. On välttämätöntä käyttää säännöllisiä lausekkeita huolellisesti HTML-rakenteen eheyden säilyttämiseksi. Tämä menetelmä on erityisen tärkeä verkkosovelluksissa, joissa sisältö on näytettävä alkuperäisessä muotoilussaan. Kuten aina, tarkista alkuperäisen sisällön pituus ja ota huomioon käyttökokemus, kun esität otteita.

Kyllä, WordPressillä on omat toiminnot ja ominaisuudet, jotka helpottavat otteiden luomista, mikä voi yksinkertaistaa prosessia huomattavasti verrattuna otteiden manuaaliseen käsittelyyn PHP:ssä. Tässä on yleiskatsaus otteisiin liittyvistä WordPressin tärkeimmistä toiminnoista:

Otefunktio WordPressissä

WordPress API tarjoaa vankan järjestelmän otteiden käsittelyyn, mikä tekee PHP-toimintojen manuaalisesta toteuttamisesta tarpeetonta useimmissa käyttötapauksissa. WordPress tarjoaa käyttäjäystävällisen tavan hallita viestien yhteenvetoja, olipa kyse sitten pituuden mukauttamisesta tai muuttamisesta Lue lisää tekstiä tai mallitunnisteita näyttämään otteita.

the_excerpt()

Tämä WordPress-mallitunniste tulostaa automaattisesti otteen viestistä. Sitä käytetään yleisesti teemoissa viestien yhteenvedon näyttämiseen arkistosivuilla.

  • Käyttö: Paikka the_excerpt() The Loop -osassa teematiedostoissasi, missä haluat otteen näkyvän.
  • Käytös: Oletuksena se näyttää viestin ensimmäiset 55 sanaa. Jos tekstieditorissa on manuaalisesti asetettu ote, se näyttää sen sijaan.

get_the_excerpt()

Tämä toiminto hakee otteen näyttämättä sitä, jolloin voit hallita paremmin, miten ja missä sitä käytetään.

  • Käyttö: get_the_excerpt($post) voidaan käyttää otteen tietystä viestistä hakemiseen.
  • Räätälöinti: Voit muokata palautettua merkkijonoa tarpeen mukaan ennen sen näyttämistä.

Otteen pituuden mukauttaminen

WordPress mahdollistaa otteen oletuspituuden muuttamisen excerpt_length suodattaa.

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

Lisää tunnisteita ja otteita lisää tekstiä

the_content('Read more')

Tämä toiminto näyttää sisällön, kunnes se kohtaa "lisää" -tunnisteen. Se on hyödyllinen, kun haluat näyttää mukautetun pituisen otteen suoraan sisällönmuokkausohjelmassa.

Otteen mukauttaminen Lisää tekstiä

Voit mukauttaa otteen lopussa näkyvää tekstiä (esim […]) käyttämällä excerpt_more suodattaa.

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

HTML:n käsittely otteissa

WordPress-otteet ovat oletuksena pelkkää tekstiä. Jos haluat säilyttää HTML-tunnisteet otteissa, sinun on luotava mukautettu funktio tai käytettävä tähän tarkoitukseen suunniteltua laajennusta.

Muokattuja koodauksia tai laajennuksia voidaan kuitenkin tarvita lisävaatimuksissa, kuten HTML-tunnisteiden säilyttäminen otteissa tai otteiden luominen tiettyjen elementtien, kuten lauseiden tai kappaleiden, perusteella.

Douglas Karr

Douglas Karr on CMO of OpenINSIGHTS ja perustaja Martech Zone. Douglas on auttanut kymmeniä menestyneitä MarTech-startuppeja, auttanut yli 5 miljardin dollarin due diligence -tarkastuksessa Martechin hankinnoissa ja investoinneissa ja avustaa edelleen yrityksiä niiden myynti- ja markkinointistrategioiden toteuttamisessa ja automatisoinnissa. Douglas on kansainvälisesti tunnustettu digitaalisen transformaation ja MarTechin asiantuntija ja puhuja. Douglas on myös julkaissut Dummie's-oppaan ja yritysjohtajuuskirjan.

Aiheeseen liittyvät artikkelit

Takaisin alkuun -painiketta
lähellä

Adblock havaittu

Martech Zone pystyy tarjoamaan sinulle tämän sisällön veloituksetta, koska ansaitsemme sivustomme mainostulojen, kumppanilinkkien ja sponsoroinnin kautta. Olisimme kiitollisia, jos poistaisit mainosten esto-ohjelman, kun katselet sivustoamme.