我正在尝试创建一个简单的函数来搜索字符串中的单词并将其链接。问题是有时这个词的末尾有一个点或逗号,我想保留它。所以text word.
应该改为text <a href="#">word</a>.
而不是text <a href="#">word</a>
这是我到目前为止的功能。我不明白为什么它不起作用:
$string = "words are plenty in the world. another world and another world,comma.";
function findWord ($string, $word, $link) {
$patt = "/(?:^|[^a-zA-Z])(" . preg_quote($word, '/') . ")(?:$|[^a-zA-Z])/i";
return preg_replace($patt, ' <a href="'.$link.'" class="glossary-item">'.$word.'</a>$3', $string);
}
echo findWord ($string, "world", "#");