PHP需要preg_replace表达式帮助

时间:2010-11-14 01:56:08

标签: php preg-replace

尝试从某些文本中删除一些BBCode。我想使用PHP preg_replace函数删除[img]和[/ img]之间的所有内容,例如:

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

匹配:[img]后跟任意数量的字符,后跟[/ img]

结果:

Here is my image and more text

感谢。

3 个答案:

答案 0 :(得分:2)

首先,找到与您的BBCode标记匹配的模式:

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

唯一困难的部分是班级[^\]]\[表示任何左括号,^表示NOT。因此,本课程将匹配非[的所有内容 您也可以用.+替换该类,并使用U(ungreedy)选项。

现在你现在要使用哪种模式,你只需要用一个空字符串替换它。工作完成了!

这是一个非常基本的正则表达式,重要的是你理解它并且你能够重现它

答案 1 :(得分:1)

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

将照顾[img][/img]之间的所有内容(案例内容敏感)

答案 2 :(得分:0)

不要忘记对您的内容进行分组,例如'/[img](++)[\/img]/i',所以在你替换条件时你可以引用标签之间的值'< img src =“$ 1”/>'