Content Màrqueting

Elaboració d'extractes en PHP o WordPress: tècniques de recompte de paraules, frases i paràgrafs

Creació d'extractes en PHP és una tasca habitual en la gestió de continguts i el desenvolupament de llocs web. Un fragment és una versió escurçada d'un contingut més llarg, que sovint s'utilitza per proporcionar una vista prèvia o un resum. És possible que els desenvolupadors de PHP hagin de crear fragments basats en el recompte de paraules, frases o paràgrafs. Aquest article explora els mètodes per aconseguir-ho, juntament amb les millors pràctiques i la gestió dels casos en què el nombre de recompte supera la longitud del contingut.

Fragment de recompte de paraules

Crear un fragment per recompte de paraules implica truncar el contingut després d'un nombre determinat de paraules.

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

Ús:

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

Bones pràctiques i gestió de sobrecomptes:

  • Comprova el recompte de paraules: Abans de truncar, comproveu si el nombre de paraules del contingut original supera la longitud de l'extracte desitjada. Si no, retorneu el contingut original.
  • Eviteu trencar paraules: Assegureu-vos que l'última paraula de l'extracte estigui completa per mantenir la llegibilitat.
  • Afegeix una el·lipse: Opcionalment, afegiu punts suspensius (...) al final si el contingut està truncat.

Fragment per recompte de frases

La creació d'extractes per recompte de frases implica mantenir un nombre determinat de frases del contingut.

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

Ús

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

Per actualitzar el excerptBySentenceCount funció per incloure frases amb qualsevol signe de puntuació al final (no només punts), podeu modificar la funció per dividir el contingut mitjançant una expressió regular que coincideixi amb qualsevol puntuació típica de final de frase, com ara un punt, un signe d'exclamació o un signe d'interrogació. A continuació s'explica com podeu fer-ho en 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;
}

Aquesta funció utilitza preg_split amb una expressió regular (expressió regular) /(?<=[.!?])\s+/ que divideix el text per espais (\s+) que segueixen un punt, un signe d'exclamació o un signe d'interrogació ([.!?]). La (?<=...) és una afirmació de retrospectiva positiva que verifica la presència de puntuació de final de frase sense incloure-la a la divisió. El PREG_SPLIT_NO_EMPTY flag garanteix que només es retornin peces no buides.

Finalment, la funció comprova si l'últim caràcter del contingut resultant és un signe de puntuació final de frase. En cas contrari, s'afegeix un punt per mantenir la puntuació adequada al final de l'extracte.

Bones pràctiques i gestió de sobrecomptes:

  • Detecció adequada de frases: Utilitzeu un punt seguit d'un espai per dividir frases. D'aquesta manera s'evita dividir en períodes utilitzats en les abreviatures.
  • Comprova el recompte de frases: De manera similar al recompte de paraules, verifiqueu si el recompte de frases del contingut original és suficient.
  • Mantenir la puntuació: Assegureu-vos que l'extracte acabi amb la puntuació adequada, normalment un punt.

Fragment per recompte de paràgrafs

La creació d'extractes per recompte de paràgrafs implica truncar el contingut després d'un nombre determinat de paràgrafs.

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

Ús:

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

Bones pràctiques i gestió de sobrecomptes:

  • Utilitzeu línies noves per als paràgrafs: Els paràgrafs solen estar separats per línies noves (\n). Assegureu-vos que el vostre contingut segueix aquest format.
  • Comprova el recompte de paràgrafs: Valideu si el recompte de paràgrafs del contingut és adequat per al fragment.
  • Respectar l'estructura del contingut: Mantenir l'estructura dels paràgrafs de l'extracte per preservar la integritat del contingut.

Fragment del recompte de paràgrafs HTML

Quan tracteu contingut HTML, voldreu extreure fragments basats en el <p> etiquetes per mantenir l'estructura i el format del contingut original.

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

Ús:

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

Bones pràctiques i gestió de sobrecomptes:

  • Expressions regulars per a la concordança d'etiquetes: Ús preg_match_all amb una expressió regular que coincideixi <p> etiquetes. Aquest enfocament garanteix que l'estructura i els atributs de les etiquetes de paràgraf es conserven.
  • Respecteu l'estructura HTML:
    Assegureu-vos que l'extracte manté l'estructura HTML. Eviteu trencar les etiquetes, que poden provocar problemes de renderització.
  • Comprova el recompte de paràgrafs: Igual que amb el text sense format, comproveu si el recompte de paràgrafs del contingut original és suficient per a l'extracte.
  • Gestiona les etiquetes anidades: Recordeu que els paràgrafs poden contenir altres elements HTML com ara enllaços o trams. Assegureu-vos que els vostres comptes d'expressió regular per a les etiquetes imbricades dins dels paràgrafs.

La creació d'extractes basats en el recompte de paràgrafs HTML en PHP és una tasca més avançada en comparació amb la gestió de text sense format. És essencial utilitzar les expressions regulars amb cura per mantenir la integritat de l'estructura HTML. Aquest mètode és especialment rellevant per a aplicacions web on el contingut s'ha de mostrar amb el seu format original. Com sempre, valideu la durada del contingut original i tingueu en compte l'experiència de l'usuari a l'hora de presentar fragments.

Sí, WordPress té el seu propi conjunt de funcions i característiques que faciliten la creació d'extractes, cosa que pot simplificar molt el procés en comparació amb la gestió manual d'extractes en PHP. Aquí teniu una visió general de les funcions clau de WordPress relacionades amb els extractes:

La funció d'extracte a WordPress

El WordPress API ofereix un sistema robust per gestionar fragments, fent que la implementació manual de funcions PHP sigui innecessària per a la majoria dels casos d'ús típics. WordPress ofereix una manera fàcil d'utilitzar per gestionar els resums de publicacions, tant si es tracta de personalitzar la longitud, com de canviar-ne llegir més text o utilitzant etiquetes de plantilla per mostrar fragments.

the_excerpt()

Aquesta etiqueta de plantilla de WordPress imprimeix automàticament un extracte d'una publicació. S'utilitza habitualment en temes per mostrar un resum de publicació a les pàgines d'arxiu.

  • Ús: Lloc the_excerpt() dins de The Loop als fitxers del tema on voleu que aparegui l'extracte.
  • Comportament: Per defecte, mostra les primeres 55 paraules de la publicació. Si hi ha un fragment configurat manualment a l'editor de publicacions, ho mostrarà.

get_the_excerpt()

Aquesta funció recupera l'extracte sense mostrar-lo, donant-vos més control sobre com i on utilitzar-lo.

  • Ús: get_the_excerpt($post) es pot utilitzar per obtenir l'extracte d'una publicació específica.
  • Personalització: Podeu manipular la cadena retornada segons sigui necessari abans de mostrar-la.

Personalització de la longitud de l'extracte

WordPress us permet canviar la longitud de l'extracte per defecte mitjançant el excerpt_length filtre

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

Gestió de més etiquetes i extractes de més text

the_content('Read more')

Aquesta funció mostra el contingut fins que troba una etiqueta "més". És útil per mostrar un fragment de longitud personalitzada directament a l'editor de contingut.

Personalització de l'extracte més text

Podeu personalitzar el text que apareix al final d'un fragment (com ara […]) utilitzant el excerpt_more filtre

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

Maneig d'HTML en extractes

Els fragments de WordPress són de text senzill per defecte. Si necessiteu conservar les etiquetes HTML en extractes, heu de crear una funció personalitzada o utilitzar un connector dissenyat per a aquest propòsit.

Tanmateix, pot ser que sigui necessari una codificació personalitzada o complements per a requisits avançats, com ara conservar etiquetes HTML en extractes o crear fragments basats en elements específics com ara frases o paràgrafs.

Douglas Karr

Douglas Karr és CMO de OpenINSIGHTS i el fundador de la Martech Zone. Douglas ha ajudat a desenes d'empreses d'èxit de MarTech, ha ajudat en la diligència deguda de més de 5 mil milions de dòlars en adquisicions i inversions de Martech i continua ajudant les empreses a implementar i automatitzar les seves estratègies de vendes i màrqueting. Douglas és un expert i conferenciant de MarTech en transformació digital reconegut internacionalment. Douglas també és autor publicat d'una guia de Dummie i d'un llibre sobre lideratge empresarial.

Articles Relacionats

Torna al botó superior
a prop

Adblock detectat

Martech Zone és capaç de proporcionar-vos aquest contingut sense cap cost perquè monetitzem el nostre lloc mitjançant ingressos publicitaris, enllaços d'afiliats i patrocinis. Agrairem que elimineu el bloquejador d'anuncis mentre visualitzeu el nostre lloc.