php 搜索文本内容并显示出来,PHP搜索文本突出显示功能

我有一个

PHP突出显示功能,使某些单词变粗.

下面是函数,它很有用,除非数组:$words包含单个值:b

例如,有人搜索:jessie j price tag feat b o b

这将在数​​组$words中包含以下条目:jessie,j,price,tag,feat,b,o,b

当’b’出现时,我的整个函数出错了,它显示了一大堆错误的html标签.当然,我可以从数组中去掉任何’b’值,但这并不理想,因为突出显示不适用于某些查询.

此示例脚本:

function highlightWords2($text, $words)

{

$text = ($text);

foreach ($words as $word)

{

$word = preg_quote($word);

$text = preg_replace("/\b($word)\b/i", '$1', $text);

}

return $text;

}

$string = 'jessie j price tag feat b o b';

$words = array('jessie','tag','b','o','b');

echo highlightWords2($string, $words);

将输出:

<<b>bb>>jessie<b>bb>> j price <<b>bb>>tag<b>bb>> feat <b>bb> <b>ob> <b>bb>

这只会发生,因为数组中有“b”.

你能看到我能改变的任何东西让它正常工作吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值