PHP所需的preg_replace表达式帮助

PHP所需的preg_replace表达式帮助,php,preg-replace,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 谢谢。首先,找到与BBCode标签匹配的图案: \[img\][^\[]+\[/img\] 唯

试图从一些文本中删除一些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

谢谢。

首先,找到与BBCode标签匹配的图案:

\[img\][^\[]+\[/img\]
唯一困难的部分是类
[^\]
\[
表示任何开口括号,^表示非开口括号。因此,该类将匹配所有非
[

您还可以将该类替换为
+
,并使用U(ungreedy)选项

现在您已经知道了要使用哪种模式,您只需将其替换为一个空字符串。工作就完成了


这是一个非常基本的regexp,了解它并能够重现它非常重要。首先,找到与BBCode标记匹配的模式:

\[img\][^\[]+\[/img\]
/\[img\].*?\[\/img\]/i
唯一困难的部分是类
[^\]
\[
表示任何打开的括号,^表示不打开的括号。因此该类将匹配所有不是
[

您还可以将该类替换为
+
,并使用U(ungreedy)选项

现在您已经知道了要使用哪种模式,您只需将其替换为一个空字符串。工作就完成了

这是一个非常基本的regexp,理解它并能够复制它非常重要

/\[img\].*?\[\/img\]/i
将处理
[img]
[/img]
之间的所有事务(区分大小写)


将处理
[img]
[/img]
(区分大小写)

不要忘记对内容进行分组,例如,'/[img](.+)[\/img]/i',因此在替换条件下,您可以引用标记“”之间的值。

不要忘记对内容进行分组,例如,'/[img](.+)[\/img]/i',因此在替换条件中,您可以引用标记“”之间的值。

好吧,它不起作用。我尝试了/\[\i\m\g\]/,这似乎与[img]匹配。这是字符串的其余部分,我无法理解。请阅读一些教程,好吧,它不起作用。我尝试了/\[\i\m\g\]/,这似乎与[img]匹配.这是我无法理解的字符串的其余部分。请阅读有关的教程