Skip to content

Instantly share code, notes, and snippets.

@rhcarlosweb
Last active May 14, 2016 19:37
Show Gist options
  • Save rhcarlosweb/4ea46af956a2b30c3d24 to your computer and use it in GitHub Desktop.
Save rhcarlosweb/4ea46af956a2b30c3d24 to your computer and use it in GitHub Desktop.
Extract paragraph based on keywords

Extract paragraph based on keywords

That function extract paragraph based on specific keywords

<?php
// conteudo artigo
$content = get_the_content();
// pega paragrafos do conteudo no artigo
$start = strpos($content, '<p>');
$end = strpos($content, '</p>', $start+3);
$paragraph = substr($content, $start, $end-$start-3);
$paragraph = html_entity_decode($paragraph);
// palavras chaves
$palavra_chave = array('Sinopse e detalhes', 'Descrição', 'Descrição e detalhes');
$pos = 0;
while ($pos < strlen($paragraph)) {
$start = strposa($paragraph, $palavra_chave, $pos);
$end = strposa($paragraph, $palavra_chave, $pos+18);
if($start === false || $end === false) {
break;
}
// paragrafo completo com palavras chaves
$contents = substr($paragraph, $start);
echo strip_tags($contents);
break;
}
<?php
/* ==========================================================================
Função para array de strpos
========================================================================== */
function strposa($haystack, $needles=array(), $offset=0) {
$chr = array();
foreach($needles as $needle) {
$res = strpos($haystack, $needle, $offset);
if ($res !== false) $chr[$needle] = $res;
}
if(empty($chr)) return false;
return min($chr);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment