2014-07-22 86 views
2

我需要擦拭括號內,包括括號內所有內容從一個字符串來處理它爲我的搜索引擎提高正則表達式來剝離bracket's內容與斷行

我正則表達式到目前爲止是:

'/[\[{].*[\]}]/U' 

此作品不錯,但如果有括號

這裏裏面斷行它不工作是一個例子(和我花了很多時間縮小到了*斷行...):

echo preg_replace('/[\[{].*[\]}]/U', ' ', strip_tags('<h1> how can i </h1> 
[portfolioitem img="/fooobarbaoarbaororboabro.jpg" alt="fooobarbaoarbaororboabro" url="fooobarbaoarbaororboabro/" imglink="Lebenslauf »" description="fooobarbaoarbaororboabro" headline="fooobarbaoarbaororboabro" link="Lebenslauf »"] 

[/span][span size="6"] 


<h1> wipe this away?</h1> 
[portfolioitem img="fooobarbaoarbaororboabro.jpg" alt="fooobarbaoarbaororboabro" url="/fooobarbaoarbaororboabro/" imglink="foo" description="foo foo foo 
bar foo foo bar foo" headline="fooo" link="Lebenslauf "] 
')); 

你可以看到,有第二斷行「[portfolioitem ......」 出於某種原因,這個輸出:

how can i 



wipe this away? 
[portfolioitem img="fooobarbaoarbaororboabro.jpg" alt="fooobarbaoarbaororboabro" url="/fooobarbaoarbaororboabro/" imglink="foo" description="foo foo foo 
bar foo foo bar foo" headline="fooo" link="Lebenslauf "] 

我沒有得到任何進一步的和IM不是親的正則表達式足夠的 有人可以請幫我讓我的正則表達式「\新行不敏感」?!

在此先感謝您的幫助!

回答

3

您需要在您的正則表達式中使用s(DOTALL)標誌使dot與換行符匹配。試試這個正則表達式:

/[\[{].*?[\]}]/Us 
+1

噢,我的上帝,我相信奇蹟再次:d它的作品,感謝您的快速回復和解釋,approciate非常 –

+0

不客氣,很高興它幫助。 – anubhava

+0

這個'\ [[^]]''' – Braj