2014-08-28 106 views
0

在字符串內我想用preg_replace刪除括號內的所有內容。preg_replace問題刪除括號內的所有內容

我的代碼是:

$text = 'i am (really) tired'; 
$text = preg_replace('#\([A-Z0-9]\)#', '', $text); 
echo $text; 

但輸出是:

我是(真的)累

任何想法,爲什麼?

回答

0

您需要打開不區分大小寫的模式,方法是將i修飾符添加到(?i)或緊跟正則表達式分隔符後面。而且你也有[A-Z0-9]後添加+匹配一個或多個字母數字字符,

$text = 'i am (really) tired'; 
$text = preg_replace('#\([A-Z0-9]+\)#i', '', $text); 
echo $text; 
0
#\([A-Z0-9a-z]+\)# 

應該this.i猜測。

0

沒有量詞(*,+{m,n})它只能匹配單個字符。除此之外,[A-Z]只匹配大寫字母。您也需要指定[a-z]。 (或指定i標誌忽略大小寫)

$text = preg_replace('#\([A-Za-z0-9]+\)#', '', $text); 
相關問題