2011-08-28 63 views
1

我試圖使用的preg_replace來替換<br />當它出現3次或更多次的標記,它應該<br /><br />的preg_replace - 更換出現3次或更多次

我試圖用這個來代替:任何機構都知道我的代碼有什麼不對?

所以,只是爲了確認... <br /><br /><br /><br /><br /><br /><br /><br />應與<br /><br />

+0

您的代碼似乎好工作:HTTP: //codepad.org/9jG5ljjn –

+0

向我們顯示您的腳本無法使用的輸入。 – tripleee

回答

1

你的正則表達式的工作就好了更換,問題是,如果你遇到的問題:

  • <br>
  • <br -multiple spaces- >
  • <br/>
  • <br -multiple spaces- />
  • <br /> <br />音符之間的空間(S)的2 BR的
  • <br> -newlines- <br>

所以這裏有一個解決方案:

$text = '<br /><br><br /><br ><br /><br><br/><br /><br><br> 
<br/> 

<br/> 
'; 
$text=preg_replace('/(<br\s*\/?>\s*){3,}/', '<br /><br />', $text); 
var_dump($text); // output: string '<br /><br />' (length=12) 

Online demo

相關問題