尝试从某些文本中删除一些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
感谢。
答案 0 :(得分:2)
首先,找到与您的BBCode标记匹配的模式:
\[img\][^\[]+\[/img\]
唯一困难的部分是班级[^\]]
。 \[
表示任何左括号,^表示NOT。因此,本课程将匹配非[
的所有内容
您也可以用.+
替换该类,并使用U(ungreedy)选项。
现在你现在要使用哪种模式,你只需要用一个空字符串替换它。工作完成了!
这是一个非常基本的正则表达式,重要的是你理解它并且你能够重现它
答案 1 :(得分:1)
/\[img\].*?\[\/img\]/i
将照顾[img]
和[/img]
之间的所有内容(案例内容敏感)
答案 2 :(得分:0)
不要忘记对您的内容进行分组,例如'/[img](++)[\/img]/i',所以在你替换条件时你可以引用标签之间的值'< img src =“$ 1”/>'