2010-07-06 96 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

相關問題