2011-02-18 52 views
1

如果我有一個像PHP:如何解決我的preg_replace代碼

$str = "Hello [Page 1] World [Page 23] Hello [Page 35] World [Page 624]"; 

一個字符串,我想刪除的「[頁#]」

我怎麼會去這樣做,所有的實例?

這裏就是我這麼遠......

preg_replace('[Page [0-9]]', '', $str); 

回答

0
preg_replace('/\\[Page [0-9]+\\]/', '', $str) 
+0

需要逃避[匹配他們。加號表示一個或多個。 – at0mzk 2011-02-18 05:17:56

+0

您還需要添加一個分隔符,例如/ pattern /或@patterns @ – 2011-02-18 05:20:37

1

記住[]是一流的分隔符。當你想用它們作爲文字時,你需要首先轉義它們(前綴爲\)。所以:

/\[Page [0-9]+\]/i 

可能是你最好的選擇。使用/環繞圖案,在您的號碼範圍內添加+以匹配「1+號碼」,最後的i表示不區分大小寫的匹配(「頁面」中的P或p)(如果這不是您的意圖,請將其刪除)。

0
/\[Page \d+\]/ 

也適用。 \ d是數字字符的簡寫。