2011-06-04 68 views
1

試圖使用preg_replace來查找以正斜槓開頭和結尾的字符串,例如"/Harry/"。 (必須preg_replace)PHP preg_replace - 字符串以正斜槓開始

我還需要忽略大小寫,並確保它是一個單詞。到目前爲止,我有以下的,但我有一點運氣得到它的工作:(

$old_words[0] = '/\b\/Harry\/\b/i'; 

$new_words[0] = 'Wizard'; 

$chat = preg_replace($old_words, $new_words, $chat); 

回答

1

如果您的問題真的僅僅是字邊界\b,那麼你可以嘗試一些輔助的說法相反:

$old_words[0] = '#(?<!\w)/Harry/(?!\w)#i'; 

基本上可以確保在斜線之前或之後不會出現任何字母。

+0

這個工作,謝謝! – Matthew 2011-06-05 01:05:21

+0

+1忘記了前方和後方。 – 2011-06-05 10:27:45

0

如果你只是想取代單的話,就沒有必要使用preg_replace。使用str_ireplace(不區分大小寫更換)代替但是,您可以使用其它字符比/作爲分隔符正則表達式:#~,...