我有一系列的单词,像这样:
array("the", "over", "hen");
我也有这样的字符串:
"The quick brown fox jumps over the lazy hen"
我想在数组中所有出现的单词周围包装一个标签(强),但保持大小写正确.
例如,使用前一个字符串,它最终会像
<strong>The</strong> quick brown fox jumps <strong>over</strong the lazy <strong>hen</strong>
但是,如果我有这句话:
"Hen #2 and ThE oveR reactive cow"
看起来像这样:
<strong>Hen</strong> #2 and <strong>ThE</strong> <strong>oveR</strong> reactive cow
我猜这个答案会使用正则表达式,但我不是很擅长……
解决方法:
试试以下:
$string = 'Then quick brown fox jumps over the lazy hen';
$keys = array('the', 'over', 'hen');
$patterns = array();
foreach($keys as $key)
$patterns[] = '/\b('.$key.')\b/i';
echo preg_replace($patterns, '<strong>$0</strong>', $string);