Marketing de Conteúdo

Elaboração de trechos em PHP ou WordPress: técnicas de contagem de palavras, frases e parágrafos

Criando trechos em PHP é uma tarefa comum em gerenciamento de conteúdo e desenvolvimento de sites. Um trecho é uma versão abreviada de um conteúdo mais longo, geralmente usado para fornecer uma prévia ou um resumo. Os desenvolvedores de PHP podem precisar criar trechos com base na contagem de palavras, frases ou parágrafos. Este artigo explora métodos para conseguir isso, juntamente com práticas recomendadas e tratamento de casos em que o número da contagem excede o comprimento do conteúdo.

Trecho por contagem de palavras

Criar um trecho por contagem de palavras envolve truncar o conteúdo após um certo número de palavras.

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

Uso:

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

Melhores práticas e tratamento de contagens excessivas:

  • Verifique a contagem de palavras: Antes de truncar, verifique se a contagem de palavras do conteúdo original excede o comprimento desejado do trecho. Caso contrário, devolva o conteúdo original.
  • Evite quebrar palavras: Certifique-se de que a última palavra do trecho esteja completa para manter a legibilidade.
  • Adicione uma elipse: Opcionalmente, adicione reticências (...) no final se o conteúdo estiver truncado.

Trecho por contagem de frases

A criação de trechos por contagem de frases envolve manter um certo número de frases do conteúdo.

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

Uso

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

Para atualizar o excerptBySentenceCount função para incluir frases com qualquer pontuação no final (não apenas pontos), você pode modificar a função para dividir o conteúdo por uma expressão regular que corresponda a qualquer pontuação típica de final de frase, como ponto final, ponto de exclamação ou ponto de interrogação. Veja como você pode fazer isso em 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;
}

Esta função usa preg_split com uma expressão regular (regex) /(?<=[.!?])\s+/ que divide o texto em espaços (\s+) que seguem um ponto final, ponto de exclamação ou ponto de interrogação ([.!?]). O (?<=...) é uma afirmação positiva que verifica a presença de pontuação no final da frase sem incluí-la na divisão. O PREG_SPLIT_NO_EMPTY flag garante que apenas peças não vazias sejam retornadas.

Por fim, a função verifica se o último caractere do conteúdo resultante é uma pontuação de final de frase. Caso contrário, acrescenta um ponto final para manter a pontuação adequada no final do trecho.

Melhores práticas e tratamento de contagens excessivas:

  • Detecção de frase adequada: Use um ponto final seguido de um espaço para dividir as frases. Isso evita a divisão em períodos usados ​​em abreviações.
  • Verifique a contagem de frases: Semelhante à contagem de palavras, verifique se a contagem de frases do conteúdo original é suficiente.
  • Manter pontuação: Certifique-se de que o trecho termine com pontuação adequada, normalmente um ponto final.

Trecho por contagem de parágrafo

A criação de trechos por contagem de parágrafos envolve truncar o conteúdo após um determinado número de parágrafos.

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

Uso:

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

Melhores práticas e tratamento de contagens excessivas:

  • Use novas linhas para parágrafos: Os parágrafos são normalmente separados por novas linhas (\n). Certifique-se de que seu conteúdo siga este formato.
  • Verifique a contagem de parágrafos: Valide se a contagem de parágrafos do conteúdo é adequada ao trecho.
  • Respeite a estrutura do conteúdo: Mantenha a estrutura dos parágrafos do trecho para preservar a integridade do conteúdo.

Trecho por contagem de parágrafos HTML

Ao lidar com conteúdo HTML, você desejará extrair trechos com base no <p> tags para manter a estrutura e formatação do conteúdo 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;
}

Uso:

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

Melhores práticas e tratamento de contagens excessivas:

  • Expressões regulares para correspondência de tags: Use preg_match_all com uma expressão regular para corresponder <p> Tag. Essa abordagem garante que a estrutura e os atributos das tags de parágrafo sejam preservados.
  • Respeite a estrutura HTML:
    Certifique-se de que o trecho mantenha a estrutura HTML. Evite quebrar tags, o que pode levar a problemas de renderização.
  • Verifique a contagem de parágrafos: Assim como no texto simples, verifique se a contagem de parágrafos do conteúdo original é suficiente para o trecho.
  • Lidar com tags aninhadas: Lembre-se de que os parágrafos podem conter outros elementos HTML, como links ou spans. Garanta suas contas regex para tags aninhadas dentro de parágrafos.

Criar trechos baseados na contagem de parágrafos HTML em PHP é uma tarefa mais avançada em comparação com o tratamento de texto simples. É essencial usar expressões regulares com cuidado para manter a integridade da estrutura HTML. Este método é especialmente relevante para aplicações web onde o conteúdo precisa ser exibido com sua formatação original. Como sempre, valide a extensão do conteúdo original e considere a experiência do usuário ao apresentar trechos.

Sim, o WordPress possui seu próprio conjunto de funções e recursos que facilitam a criação de trechos, o que pode simplificar bastante o processo em comparação ao tratamento manual de trechos em PHP. Aqui está uma visão geral das principais funções do WordPress relacionadas a trechos:

A função de trecho no WordPress

O WordPress API oferece um sistema robusto para lidar com trechos, tornando desnecessária a implementação manual de funções PHP para a maioria dos casos de uso típicos. O WordPress oferece uma maneira fácil de gerenciar resumos de postagens, seja personalizando o comprimento, alterando o leia mais texto ou usando tags de modelo para exibir trechos.

the_excerpt()

Esta tag de modelo do WordPress imprime automaticamente um trecho de uma postagem. É comumente usado em temas para exibir um resumo da postagem nas páginas de arquivo.

  • Uso: Lugar the_excerpt() dentro do The Loop nos arquivos do tema onde você deseja que o trecho apareça.
  • comportamento: Por padrão, mostra as primeiras 55 palavras da postagem. Se houver um trecho definido manualmente no editor de postagem, ele será exibido.

get_the_excerpt()

Esta função recupera o trecho sem exibi-lo, dando a você mais controle sobre como e onde usá-lo.

  • Uso: get_the_excerpt($post) pode ser usado para buscar o trecho de uma postagem específica.
  • Personalização: Você pode manipular a string retornada conforme necessário antes de exibi-la.

Personalizando o comprimento do trecho

WordPress permite que você altere o comprimento padrão do trecho por meio do excerpt_length filtro.

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

Gerenciando mais tags e extraindo mais texto

the_content('Read more')

Esta função exibe o conteúdo até encontrar uma tag “mais”. É útil para mostrar um trecho de tamanho personalizado diretamente no editor de conteúdo.

Personalizando trecho mais texto

Você pode personalizar o texto que aparece no final de um trecho (como […]) usando o excerpt_more filtro.

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

Manipulação de HTML em trechos

Os trechos do WordPress são texto simples por padrão. Se precisar preservar tags HTML em trechos, você deve criar uma função customizada ou usar um plugin desenvolvido para essa finalidade.

No entanto, codificação personalizada ou plug-ins podem ser necessários para requisitos avançados, como preservar tags HTML em trechos ou criar trechos com base em elementos específicos, como frases ou parágrafos.

Douglas Karr

Douglas Karr é CMO de AbrirINSIGHTS e o fundador da Martech Zone. Douglas ajudou dezenas de startups de MarTech bem-sucedidas, auxiliou na due diligence de mais de US$ 5 bilhões em aquisições e investimentos da Martech e continua a auxiliar empresas na implementação e automatização de suas estratégias de vendas e marketing. Douglas é um especialista e palestrante em transformação digital e MarTech reconhecido internacionalmente. Douglas também é autor publicado de um guia para leigos e de um livro sobre liderança empresarial.

Artigos Relacionados

Voltar ao topo botão
Fechar

Adblock detectado

Martech Zone é capaz de fornecer a você esse conteúdo sem nenhum custo porque monetizamos nosso site por meio de receita de anúncios, links de afiliados e patrocínios. Agradeceríamos se você removesse seu bloqueador de anúncios ao visualizar nosso site.