2011-08-28 6 views
1
나는 그것이 3 번 이상 나타날 때 <br />을 대체 preg_replace이다를 사용하려고 해요

을 표시 태그를 교체, 그것은 <br /><br />preg_replace이다 - 3 번 이상

내가 이것을 사용하려고 해요로 교체해야합니다 : $text=preg_replace('/(<br \/>){3,}/', '<br /><br />', $text); 신체가 내 코드에 무슨 문제가 있는지 알고 있습니까?

발생할 경우에 따라서, 단지 확인을 위해 ... <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

관련 문제