我要突出显示整个表达式和单个单词
$text ="text text aaa bbb ccc text aaa text xxaaayy text bbb ccc text bbb cccxxx text";
$words = array('aaa bbb ccc','aaa bbb','bbb ccc','aaa','bbb','ccc');
foreach ($words as $k=>$v){
$text = preg_replace('/(\w*?'.$v.'\w*)/i', '[b]$1[/b]', $text);
}
此代码将返回:
文本文本 [b][b]aaa[/b] [b]bbb[/b] [b]ccc[/b][/b] 文本 [b]aaa[/b] 文本 [b]xxaaayy[/b ] 文本 [b][b]bbb[/b] [b]ccc[/b][/b] 文本 [b][b]bbb[/b] [b]cccxxx[/b][/b] 文本
如何得到这个结果:
文本文本 [b]aaa bbb ccc[/b] 文本 [b]aaa[/b] 文本 [b]xxaaayy[/b] 文本 [b]bbb ccc[/b] 文本 [b]bbb cccxxx[/b]文本
如何修改 preg_replace ?