Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite.
Tenho o seguinte ambiente, um texto (string) e varias palavras chaves (array) compostas e não compostas, preciso verificar quais palavras chaves existem neste texto e colocar-las em negrito (<strong></strong>).
Porem a função que o antigo programador do sistema fez não esta funcionando.
Versão do PHP 5.9.39
Segue a função.
function palavras_chave($texto = '', $palavras = array())
{
$result = array(
'texto' => $texto,
'palavras' => array(),
);
foreach ($palavras as $keyword)
{
$keyword = preg_quote(htmlentities($keyword, ENT_COMPAT, 'UTF-8'));
$texto = preg_replace(
'/\p{L}*?'.$keyword.'\p{L}*/ui',
'<strong>$0</strong>',
$texto
);
//var_dump($texto);
//die();
//"<span style=\"background: #b94a48; border-radius: 3px; padding: 2px 4px;white-space:no-wrap; color:#fff\">$0</span>",
preg_match('/\p{L}*?'.$keyword.'\p{L}*/ui', $texto, $matches);
if ($matches[0])
{
$result['palavras'][] = $matches[0];
}
unset($matches);
}
$result['texto'] = $texto;
return $result;
}
Obrigado desde já.
Carregando comentários...