我正在尝试在文本中搜索特定单词,然后在该单词周围添加一个 html 标签。例如,如果我有字符串“我去商店买苹果和橙子”,并想在苹果周围添加 html 粗体标签。
问题,我搜索字符串的单词存储在文本文件中,可以是大写,小写等。当我使用 preg_replace 执行此操作时,我设法正确替换它添加标签,但例如,如果我搜索 APPLES 和字符串包含“苹果”它会将格式从苹果更改为苹果,我希望格式保持不变。
我曾尝试使用 preg_replace 但我找不到保持相同单词大小写的方法。这就是我所拥有的:
foreach($keywords as $value)
{
$pattern = "/\b$value\b/i";
$replacement = "<b>$value</b>";
$new_string = preg_replace($pattern, $replacement, $string);
}
因此,如果 $value 是 APPLES,它会将 $string 中苹果的每个大小写格式更改为大写,因为 $replacemant 中包含 $value,即“APPLES”。
我如何在案例格式保持不变且不必使用不同版本的案例格式进行多个循环的情况下实现这一点?
谢谢