정규 표현식을 얻으려고하는데 많은 행운이 없습니다.PHP 정규 표현식을 사용하여 중복 된 HTML 태그 정리
소스 내가 읽고있다 파일 (제대로 포맷,하지만 난이 할 수있는 일은)는 나는 PHP 정규 표현식이 일치 어떻게 요소
<BR>
<BR>
<BR>
사이의 소스에 다음있다? 이 같은
정규 표현식을 얻으려고하는데 많은 행운이 없습니다.PHP 정규 표현식을 사용하여 중복 된 HTML 태그 정리
소스 내가 읽고있다 파일 (제대로 포맷,하지만 난이 할 수있는 일은)는 나는 PHP 정규 표현식이 일치 어떻게 요소
<BR>
<BR>
<BR>
사이의 소스에 다음있다? 이 같은
뭔가 :이 조금 더 관대 한 당신의 예보다
preg_match('/(<br>\s*){3}/i', $str, $matches);
- 그것은 대소 문자를 구분 일치를 수행하고 <br>
들뿐만 아니라 개행 문자 사이의 공백과 일치합니다.
3 대신에 3 개 이상을 일치 시키려면 :
preg_match('/(<br>\s*){3,}/i', $str, $matches);
그냥 다음 문자열 교체하고 더 나을있는 <BR>
인스턴스를 교체합니다. 정규 표현식보다 훨씬 빠릅니다. 거기에
$newstr = str_replace('<BR>', 'replacement...', $str);
필자의
<?php
$html = <<<HTML
<BR>
<BR>
<BR>
<p>^^ Replace 3 consecutive BR tags with nothing</p>
<BR>
<BR>
<p>^^ those should stay, there's only 2 of them</p>
<BR>
<BR>
<BR>
<p>^^ But those should go, whitespace and newlines shouldn't matter
HTML;
echo preg_replace("/(?:<br>\s*){3}/i", '', $html);
그는
태그 사이의 텍스트를 얻으려고 노력 아닌가요? –
태그를 모두 바꾸려고하지 않습니다. 3 번 연속해서 나타나는 것들 –
@Yannick 태그 사이의 텍스트를 원하지 않는다. 단지 3
태그를 내 자신의 서식으로 바꾸고 싶다. –