2010-07-06 90 views
1

似乎很简单,但我有一些问题,我尝试使用了preg_replace:输出时如何从PHP中的字符串中删除所有的中断标记?

preg_replace("<br />", "", $string); 

但我得到的是这个<>到位字符串中的<br />的。字符串中的中断标记将始终采用以下格式:

<br/> 
<br> 
<BR /> 
etc. 

那么我在做什么错误?

回答

10
preg_replace("#<br />#", "", $string); 

您需要一个分隔字符。 #在这里工作正常,因为它没有用在正则表达式中。

+5

人们并不总是像他们应该关闭他们的休息,所以它可能应该像'##'。 – prodigitalson 2010-07-06 01:00:20

+0

+1,提及分隔符 – alex 2010-07-06 01:06:20

+0

+1字符串的分隔符可能是该语言中最常见的事情之一。 – Incognito 2010-07-06 02:30:01

7

除了什么Matthew Flaschen said,你很可能与简单str_replace()因为你没有使用任何一个正则表达式的功率那里逃脱。

或者,也可以搭配不同类型的<br />像这样(使用正则表达式这个时候)...

#<br\s?/?># 

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

此外,如果您正在进行更多的HTML操作,请考虑使用parser

相关问题