如何从PHP中的字符串中删除所有中断标记?

1 php regex string

看起来很简单,但我遇到了一些问题,我尝试使用preg_replace:

preg_replace("<br />", "", $string);
Run Code Online (Sandbox Code Playgroud)

但我得到的是输出时<>代替<br />字符串中的内容.字符串中的break标记将始终采用此格式,而不是以下任何格式:

<br/>
<br>
<BR />
etc.
Run Code Online (Sandbox Code Playgroud)

那我的错误是什么?

Mat*_*hen 10

preg_replace("#<br />#", "", $string);
Run Code Online (Sandbox Code Playgroud)

你需要一个分隔符. #这里运行正常,因为它没有在正则表达式中使用.

  • 人们不应该像他们应该那样关闭他们的休息,所以它可能应该像`#br [\ s /]?>#`. (5认同)

ale*_*lex 7

除了Matthew Flaschen所说的,你可能只是str_replace()因为你没有使用任何正则表达式的力量而逃脱.

或者,您可以匹配不同类型的<br />类似(这次使用正则表达式)...

#<br\s?/?>#
Run Code Online (Sandbox Code Playgroud)

这将匹配<br/>,<br>,<br />.添加i标志以使其以不区分大小写的方式匹配(或者str_ireplace()如果不使用正则表达式则使用).

此外,如果您正在进行比此操作更多的HTML操作,请考虑使用解析器.