如何使用str_ireplace(或类似的东西)替换某些文本进行格式化,然后使用相同的大写字母返回?
示例:
$original="The quick red fox jumps over the lazy brown dog.";
$find="thE";
print str_ireplace($find,'<b>'.$find.'</b>',$original);
那将输出: 快速的红狐狸跳过懒惰的棕色狗。
我希望它保留原始案例并仅应用格式,在本例中为粗体文字。
谢谢。
答案 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);