我有这个突出关键字的功能。它工作得很好,但它似乎不适用于单引号和双引号。
function highlight($input, $keywords) {
// Hello Mr Regex
preg_match_all('~\w+~', $keywords, $match);
// If there's no match
if(!$match) { return $input; }
// Case sensitive search
//$result = '~\\b(' . implode('|', $match[0]) . ')\\b~';
// Case insenstive search
$result = '~\\b(' . implode('|', $match[0]) . ')\\b~i';
// Return highlighted text
return preg_replace($result, '<strong>$0</strong>', $input);
}
$keywords = "just another what's little's test";
$input = "here what what's just looking little's another's this's for another one that requires a test";
结果:这里什么只是看起来很少的另一个是另一个需要测试的
在此示例中,不应突出显示this 上的's
我也尝试过同时使用htmlspecialchars()
输入和关键字,但这似乎也不匹配。
有任何想法吗?