2013-08-21 27 views
0

我試圖運行這個正則表達式但失敗。有人能指出我做錯了什麼嗎?正則表達式不像想要的那樣去除自定義標籤名

$return = "<list>{eated}</list><full><b>Eated:</b> {eated}<br>" 
     ."<b>Liked Me:</b> {likeme}<br><b>Seen:</b> {seen}<br>{image}</full>"; 

echo preg_replace("%<list.*?</list>%i", "", $return); 
+0

'preg_replace'中應該有'/'而不是'%'。 – Wiktor

+1

@Wiktor完全不正確。正則表達式分隔符可以是任何字符 – Phil

+1

@Wiktor:不是真的,你可以指定任何分隔符! –

回答

0

發現我的錯誤。

echo preg_replace('/(<list>.+?)+(<\/list>)/is', '', $return); 

它代替了標籤及其內容就好了。

+0

順便說一句,是不是你原來的正則表達式工作?它[似乎工作正常](http://ideone.com/IwVsVq)。在您當前的正則表達式中,您可以輕鬆移除所有捕獲組。 – Jerry