Content Marketing

Að búa til útdrátt í PHP eða WordPress: Orða-, setningar- og málsgreinatalningartækni

Að búa til brot í PHP er algengt verkefni í vefumsjón og vefsíðugerð. Útdráttur er stytt útgáfa af lengra efni, oft notað til að gefa forskoðun eða samantekt. PHP forritarar gætu þurft að búa til útdrátt byggða á orðum, setningum eða málsgreinum. Þessi grein kannar aðferðir til að ná þessu, ásamt bestu starfsvenjum og meðhöndlun mála þar sem talningarfjöldinn fer yfir innihaldslengdina.

Útdráttur eftir Word Count

Að búa til útdrátt eftir orðafjölda felur í sér að stytta innihaldið eftir ákveðinn fjölda orða.

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

Notkun:

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

Bestu starfshættir og of mikið af meðhöndlun:

  • Athugaðu orðafjölda: Áður en þú styttir skaltu athuga hvort orðafjöldi upprunalega innihaldsins fari yfir æskilega lengd útdráttar. Ef ekki, skilaðu upprunalegu efninu.
  • Forðastu að brjóta orð: Gakktu úr skugga um að síðasta orðið í útdrættinum sé lokið til að viðhalda læsileika.
  • Bættu við sporbaug: Bættu við sporbaug (valfrjálst)...) í lokin ef innihaldið er stytt.

Útdráttur eftir setningafjölda

Að búa til útdrátt eftir setningafjölda felur í sér að halda tilteknum fjölda setninga frá innihaldinu.

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

Notkun

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

Til að uppfæra excerptBySentenceCount falli til að innihalda setningar með hvaða greinarmerki sem er í lokin (ekki bara punkta), þú getur breytt fallinu til að skipta innihaldinu með reglulegri tjáningu sem passar við hvaða dæmigerða greinarmerki sem endar setningar, eins og punktur, upphrópunarmerki eða spurningarmerki. Svona geturðu gert það í 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;
}

Þessi aðgerð notar preg_split með reglulegri tjáningu (regex) /(?<=[.!?])\s+/ sem skiptir textanum í bil (\s+) sem fylgja punkti, upphrópunarmerki eða spurningarmerki ([.!?]). The (?<=...) er jákvætt yfirlit yfir fullyrðingu sem athugar hvort greinarmerki sem lýkur setningum séu til staðar án þess að hafa þau með í skiptingunni. The PREG_SPLIT_NO_EMPTY fáninn tryggir að aðeins ótómum hlutum sé skilað.

Að lokum athugar aðgerðin hvort síðasti stafurinn í efninu sem myndast sé greinarmerki sem lýkur setningu. Ef ekki, bætir það við tímabil til að viðhalda réttum greinarmerkjum í lok útdráttarins.

Bestu starfshættir og of mikið af meðhöndlun:

  • Rétt setningagreining: Notaðu punkt og síðan bil til að skipta setningum. Þetta forðast að skipta í tímabil sem notuð eru í skammstöfunum.
  • Athugaðu fjölda setninga: Svipað og orðafjöldi, athugaðu hvort setningafjöldi upprunalega innihaldsins sé nægjanlegur.
  • Viðhalda greinarmerkjum: Gakktu úr skugga um að útdrátturinn endi með réttum greinarmerkjum, venjulega punkti.

Útdráttur eftir málsgreinatalningu

Að búa til útdrætti eftir fjölda greina felur í sér að stytta innihaldið eftir ákveðinn fjölda málsgreina.

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

Notkun:

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

Bestu starfshættir og of mikið af meðhöndlun:

  • Notaðu nýjar línur fyrir málsgreinar: Málsgreinar eru venjulega aðskildar með nýjum línum (\n). Gakktu úr skugga um að efnið þitt fylgi þessu sniði.
  • Athugaðu fjölda greina: Staðfestu ef fjöldi málsgreina efnisins er fullnægjandi fyrir útdráttinn.
  • Virða efnisuppbyggingu: Halda uppbyggingu málsgreina í útdrættinum til að varðveita heilleika innihaldsins.

Útdráttur af HTML málsgreinum

Þegar þú ert að fást við HTML-efni, viltu draga út úrdrátt byggt á <p> merki til að viðhalda uppbyggingu og sniði upprunalega efnisins.

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

Notkun:

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

Bestu starfshættir og of mikið af meðhöndlun:

  • Venjulegar tjáningar fyrir samsvörun merkja: Nota preg_match_all með reglulegri tjáningu til að passa <p> merki. Þessi nálgun tryggir að uppbygging og eiginleikar málsgreinamerkjanna haldist.
  • Virða HTML uppbyggingu:
    Gakktu úr skugga um að útdrátturinn haldi HTML uppbyggingunni. Forðastu að brjóta merki, sem getur leitt til flutningsvandamála.
  • Athugaðu fjölda greina: Eins og með venjulegan texta, athugaðu hvort málsgreinatalning upprunalega innihaldsins sé nægjanlegt fyrir útdráttinn.
  • Meðhöndla hreiður merki: Mundu að málsgreinar geta innihaldið aðra HTML þætti eins og tengla eða span. Gakktu úr skugga um að regex þín geri grein fyrir hreiðri merkjum innan málsgreina.

Að búa til útdrátt byggða á HTML málsgreinum í PHP er fullkomnari verkefni samanborið við að meðhöndla venjulegan texta. Það er nauðsynlegt að nota reglulegar orðasambönd vandlega til að viðhalda heilleika HTML uppbyggingunnar. Þessi aðferð er sérstaklega viðeigandi fyrir vefforrit þar sem efnið þarf að birta með upprunalegu sniði. Eins og alltaf, staðfestu lengd upprunalega efnisins og íhugaðu notendaupplifun þegar þú kynnir brot.

Já, WordPress hefur sitt eigið sett af aðgerðum og eiginleikum sem auðvelda að búa til útdrátt, sem getur einfaldað ferlið verulega samanborið við handvirkt meðhöndlun útdrátta í PHP. Hér er yfirlit yfir helstu WordPress aðgerðir sem tengjast útdrætti:

Útdráttaraðgerðin í WordPress

WordPress API býður upp á öflugt kerfi til að meðhöndla útdrætti, sem gerir handvirka innleiðingu PHP aðgerða óþarfa fyrir flest dæmigerð notkunartilvik. WordPress býður upp á notendavæna leið til að stjórna færsluyfirlitum, hvort sem það er að sérsníða lengdina, breyta lesa meira texta, eða nota sniðmátsmerki til að birta brot.

the_excerpt()

Þetta WordPress sniðmátsmerki prentar sjálfkrafa útdrátt fyrir færslu. Það er almennt notað í þemum til að birta færsluyfirlit á skjalasafnssíðum.

  • Notkun: Place the_excerpt() innan The Loop í þemaskránum þínum þar sem þú vilt að útdrátturinn birtist.
  • Hegðun: Sjálfgefið sýnir það fyrstu 55 orð færslunnar. Ef það er handvirkt útdráttur í færsluritlinum mun hann birta það í staðinn.

get_the_excerpt()

Þessi aðgerð sækir útdráttinn án þess að birta hann og gefur þér meiri stjórn á því hvernig og hvar á að nota það.

  • Notkun: get_the_excerpt($post) hægt að nota til að sækja útdrátt úr tiltekinni færslu.
  • customization: Þú getur unnið með skilaða strenginn eftir þörfum áður en þú birtir hann.

Aðlaga lengd útdráttar

WordPress gerir þér kleift að breyta sjálfgefna lengd útdráttar í gegnum excerpt_length sía.

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

Umsjón með meira merki og útdráttur meiri texta

the_content('Read more')

Þessi aðgerð sýnir efnið þar til það rekst á „meira“ merki. Það er gagnlegt til að sýna sérsniðna lengd útdrátt beint í efnisritlinum.

Sérsníða útdrátt meiri texta

Þú getur sérsniðið textann sem birtist í lok útdráttar (eins og […]) með því að nota excerpt_more sía.

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

Meðhöndlun HTML í útdrætti

WordPress útdrættir eru sjálfgefið texti. Ef þú þarft að varðveita HTML merki í útdrætti, verður þú að búa til sérsniðna aðgerð eða nota viðbót sem er hönnuð í þessum tilgangi.

Hins vegar gæti sérsniðin kóðun eða viðbætur verið nauðsynlegar fyrir háþróaðar kröfur eins og að varðveita HTML merki í útdrætti eða búa til útdrátt byggða á sérstökum þáttum eins og setningum eða málsgreinum.

Douglas Karr

Douglas Karr er CMO af OpenINSIGHTS og stofnandi Martech Zone. Douglas hefur hjálpað tugum farsælra MarTech sprotafyrirtækja, hefur aðstoðað við áreiðanleikakönnun yfir $5 milljarða í kaupum og fjárfestingum Martech og heldur áfram að aðstoða fyrirtæki við að innleiða og gera sjálfvirkan sölu- og markaðsáætlanir sínar. Douglas er alþjóðlega viðurkenndur stafrænn umbreytingu og MarTech sérfræðingur og ræðumaður. Douglas er einnig útgefinn höfundur Dummie's guide og bók um leiðtogaviðskipti.

tengdar greinar

Til baka efst á hnappinn
Loka

Auglýsingablokk greind

Martech Zone er fær um að útvega þér þetta efni að kostnaðarlausu vegna þess að við afla tekna af síðunni okkar með auglýsingatekjum, tengdatenglum og kostun. Okkur þætti vænt um ef þú myndir fjarlægja auglýsingablokkann þinn þegar þú skoðar síðuna okkar.