2013-09-01 4 views
0

<br /><br /> (단지 2 명의 br toguether가있을 때)을 찾고 무언가를 대체하고 싶습니다. 그러나 그것을 찾지 않는 것 같습니다.두 명의 br toguether를 찾으십시오

이, $ 텍스트 찾는 곳이다 :, BR의 BR을 찾을 수는 $ 텍스트에 있음 "무엇인가"에 대한 교체 :

<p>first<br /> 
segon<br /> 
<br /> 
third</p> 

내가 좋아하는 많은 것들을 시도합니다. 문제는 내가 성공처럼 생각없이 찾으려고

$p = str_replace("<br/><br/>", "something", $text); 

찾기에 :

<br/><br/>, <br><br>, <br/>\n<br/>\n, <br/>\r\n</br>\r\n ... 

내가 <br><br> 제발 찾을 수없는 사람이 왜 나를 설명 할 수 있습니까?

+2

그래서'
'또는'
'? –

+0

@_mulder 업데이트했습니다. 감사합니다. – Nrc

+1

Regexes는 공백 문자이므로, '
'은 (는) '
'과 일치하지 않습니다. –

답변

1

사용 preg_replace이다 :

$html = '<p>first<br /> 
segon<br /> 
<br /> 
third</p>'; 
echo preg_replace("#<br />\s*<br />#", "something", $html); 

또는

echo preg_replace("#<(/)?br(\s*/\s*)?>\s*<(/)?br(\s*/\s*)?>#", "something", $html); 

두 번째 일치는 모든 가능성을 일치합니다.

출력 :

<p>first<br /> 
segonsomething 
third</p> 
+0

'
'(평문)을 지정하는 방법에는 여러 가지가 있습니다. 솔루션은 한 가지 방법으로 만 해결됩니다. 이 경우 HTML을 토큰 화하고 검색하는 것이 더 좋습니다. – nhahtdh

+0

@nhahtdh : 업데이트 –

+0

참조 FYI, '
', '', '', ''은 모두 'br' 태그로 구문 분석됩니다. '< br>'만이 일반 텍스트로 구문 분석됩니다. – nhahtdh

관련 문제