2010-11-14 63 views
0

嘗試從某些文本中剝離某些BBCode。我想刪除[/ IMG]一[IMG]之間的所有內容,並使用一個PHP preg_replace函數的功能,例如:PHP需要preg_replace表達式幫助

Here is my image[img]http://www.abc.com/image1.jpg[/img] and more text 

匹配度:[IMG]後跟任意數目的字符,然後按[/ IMG的]

結果:

Here is my image and more text 

感謝。

+0

嗯,它不工作。我試過/ \\ [\ i \ m \ g \\] /並且看起來與[img]匹配。這是我無法弄清的字符串的其餘部分。 – Mark 2010-11-14 02:03:02

+0

閱讀http://regular-expressions.info/ – mario 2010-11-14 02:16:26

回答

1

首先,找到會符合您的BBCode標籤模式:

\[img\][^\[]+\[/img\] 

唯一困難的部分是類[^\]]\[表示任何開頭括號,而^意味着NOT。所以這個課程將匹配所有不是[的東西。
您也可以用.+來替換這個類,並使用U(ungreedy)選項。

既然你現在要使用哪種模式,你只需要用一個空字符串替換它即可。工作完成了!

這是一個非常基本的正則表達式,這一點很重要,你瞭解它,你能夠重現它

1
/\[img\].*?\[\/img\]/i 

將採取[img][/img](情況大小寫)

+0

上的一些教程謝謝。我會試一試。 – Mark 2010-11-14 02:07:05

0
之間打理一切

不要忘記將你的內容分組,例如'/[img](.+)[\/img]/i',所以在替換條件中,你可以參考標籤之間的值'< img src =「$ 1」/ >'