2010-04-07 39 views
0

我想用PHP替換一個字符串中的所有換行符(<br><br />)。我應該用什麼正則表達式來使用preg_replace?如何製作這個正則表達式?

謝謝!

+0

請不要使用正則表達式來解析或修改HTML。 '

'不能持有它爲時已晚。 http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – 2010-04-07 06:13:10

回答

0

編輯:

$string = str_replace(array('<br>','<br />'),'', $string); 

哦,正則表達式是不是一切

所以,如果你決定堅持使用preg_replace沒有意義了理想的工具,你可以使用這個

+0

我說使用preg_replace,請:-) – User112312 2010-04-07 06:08:52

+0

我相信OP希望取代所有'
' AND'
'實例。 – jensgram 2010-04-07 06:09:08

+0

@jensgram - 忽略了這一點,對於胡。 – 2010-04-07 08:31:00

3

用「一個字符串」替換|<br\s*/?>|i

(請注意,你不能用正則表達式解析HTML,甚至只是爲了<br /> - 例如,如果這是什麼<br />在一些內嵌的JavaScript字符串的一部分使用的解析器來獲得可靠的結果。)

2
/<br[^>]*>/ 

應該做...並處理<br clear="all">。 (如果這不是一個要求,請使用KennyTM's solution而不是在所有情況下,你應該閱讀他的免責聲明。)

+0


2010-04-07 06:12:36

+0

@Williham托特蘭,並不表明,編號:S – jensgram 2010-04-07 06:13:33

+0

使用所有格量詞:'/ ] * +> /' – Geert 2010-04-07 07:13:41

0

檢查這是否有幫助,請張貼回來,如果這裏有任何問題。

$str = 'This is a test string<br>.and another string <br>that will replace<br> with <br />'; 

$pattern = "/<br>/"; 
$replace = "<br />"; 
echo preg_replace($pattern, $replace, $str);