我需要从字符串中单独突出显示每个单词,即使字符串只有一个单词。
$keyword = 'should be bolded';
$string = 'This shouldbebolded';
预期结果:
"此应加粗。"这是谷歌式的亮点。
一个简单的函数就足以满足您的需求。你可以将你的单词分解成一个数组,单独搜索所有单词。
只需使用explode()
函数将单词分解为数组,并将其传递给下面的函数即可。
function highlightWords($string, $words)
{
foreach ( $words as $word )
{
$string = str_ireplace($word, '<span class="highlight">'.$word.'</span>', $string);
}
return $string;
}
您可以使用CCD_ 4,foreach
和str_replace
:
<?php
# Keywords
$keywords_str = 'tv nice';
# String
$string = 'My tv is nice';
# Operation result(to not modify $string)
$result = $string;
# Split $keywords by spaces into array of single keywords
$keywords = explode(' ', $keywords_str);
# Loop keywords array
foreach($keywords as $keyword)
{
# Replace every keyword occurence to make it bold
$result = str_replace($keyword, "<b>$keyword</b>", $result);
}
echo $result;
?>
结果是:
我的电视很好