str_ireplace() 与案件的保留

2022-08-30 12:57:11

如何使用str_ireplace(或类似的东西)来替换一些文本以进行格式化,然后用相同的大写字母返回它?

例:

$original="The quick red fox jumps over the lazy brown dog.";
$find="thE";

print str_ireplace($find,'<b>'.$find.'</b>',$original);

这将输出:快速的红狐狸跳过懒惰的棕色狗。

我希望它保留原始大小写,并仅应用本例中的粗体文本格式。

谢谢。


答案 1
$original = "The quick red fox jumps over the lazy brown dog.";
$new = preg_replace("/the/i", "<b>\$0</b>", $original);

快速的红狐狸跳过懒惰棕色狗。如果要匹配特定单词,可以添加单词边界:。preg_replace('/\bthe\b/i', ...

如果要参数化替换,可以使用preg_quote

 preg_replace('/\b' . preg_quote($word, "/") . '\b/i', "<b>\$0</b>", $original);

答案 2

要么用确切的单词替换,要么使用preg_replace:

preg_replace('/(The)/i', "<strong>$1</strong>", $original);

推荐