2010-08-15 89 views
26

如何使用str_ireplace(或類似的東西)替換某些文本進行格式化,然後使用相同的大寫字母返回它?str_ireplace()保留大小寫

例子:

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

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

將輸出: 快紅狐狸跳過懶惰的黃狗。

我希望它保留原始大小寫,並且只應用格式(在本例中爲粗體文本)。

謝謝。

回答

39
$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); 
+0

非常好,謝謝。 – Francisc 2010-08-16 12:37:11

+0

*快速的棕色狐狸跳過懶狗 – Popnoodles 2014-04-02 01:18:35

2

無論是更換了與確切的詞,或者使用的preg_replace:

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

謝謝,mhitza。 – Francisc 2010-08-16 12:38:16

相關問題