我有一个相当基本的情况,我有一个字符串数组,我想在一个字符串中找到所有匹配项,并在它们周围放置强标签。这是我到目前为止所拥有的:
$searchWords = array("test","this","s");
for($i=0;$i<sizeof($searchWords);$i++) {
$searchWords[$i] = "/".preg_quote($searchWords[$i])."/i";
}
$label = "This is a test string.";
$result = preg_replace($searchWords, "<strong>$0</strong>", $label);
echo($result);
问题是 preg_replace 函数似乎将“s”搜索词与强标签匹配,因为它们被替换了。所以我结束了:
<strong>Thisstrong> 是一个 <strong>teststrong>。
当我真正想要的是:
<strong>这个</strong>我<strong>s</strong>是一个<strong>测试</strong>。
那么,你们能建议我哪里出错了吗?
任何帮助都非常感谢,我为此撕毁了我的头发,我必须接近。