2012-02-26 58 views
1

我得到了一個有點棘手的preg_replace,我想不出。preg_replace - 如何匹配特定號碼

字符串可以像2:456:982:12:89:

比方說,我想只是刪除 「2」,並沒有取代它。

這是我有$ focus_chat是「2」:

preg_replace('/:' . $focus_chat . ':/', ':', $unfocus_chat); 

現在,這會工作,如果2:在字符串的中間。問題在於2:不會有:因爲它在字符串的開始處。

任何想法?謝謝!

+0

'$ focus_chat'的值是什麼? – 2012-02-26 00:54:57

回答

2

你可以說:字符串的開頭(即^)或:

preg_replace('/(^|:)' . $focus_chat . '(:|$)/', ':', $unfocus_chat); 

字符串($)第二分隔符還增加了盡頭。

+0

太棒了!正是我需要的,謝謝。 – Chris 2012-02-26 01:06:45

+0

只是想補充一點,我還必須檢查字符串的第一個字符是否爲':'並將其替換爲空。 – Chris 2012-02-26 01:24:29

+0

@克里斯:不客氣! – hakre 2012-02-26 01:32:39