str_ireplace()保持大小写

时间:2010-08-15 23:50:17

标签: php match case-insensitive replace

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

示例:

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

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

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

我希望它保留原始案例并仅应用格式,在本例中为粗体文字。

谢谢。

2 个答案:

答案 0 :(得分:41)

$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);

答案 1 :(得分:3)

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

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