尝试这个:
preg_replace("/w*?$keywordw*/i", "<b>$0</b>", $str)w*?匹配关键字前面的任何单词字符(至少)和
w*关键字后面的任何单词字符。
并且我建议您使用
preg_quote转义关键字:
preg_replace("/w*?".preg_quote($keyword)."w*/i", "<b>$0</b>", $str)为了支持Unipre,请使用 u 标志,
p{L}而不要使用w:
preg_replace("/p{L}*?".preg_quote($keyword)."p{L}*/ui", "<b>$0</b>", $str)


