2011-11-09 2 views
1

나는 내가 태그 사이에 줄 바꿈이 작동 아래의 교체를 방해하는 생각preg_replace이다 태그 문제

</th> 
</tr> 
</thead> 

두 태그

</th> 
</tr> 

을 대체하기 위해 노력하고있어 :

$str = preg_replace('/(<\/th>)+(\/tr)/i', '</th></tr></thead>', $str); 

제안 사항을 알려주십시오. \s*이 공백을 일치하고 /tr 주위 <> 누락 된 것을

$str = preg_replace('/<\/th>\s*<\/tr>/i', '</th></tr></thead>', $str); 

참고 :

+0

제 제안은 HTML 구문 분석기 대신 정규식을 사용하지 않는 것입니다. 또한, 당신의 정규식을 확인, 그것은 하나 또는 다른 캐릭터가 거기에 놓친 것 같습니다. – hakre

+1

'/ i' 대신'/ s'을 사용하십시오 .. – Rikesh

+0

때로는 HTML 파서가 좋은 선택이지만 뭔가 작다면 어쩌면 좋은 생각이 아닙니다 ... –

답변

1

이 정규식 솔루션입니다.

위에서 지적한 것처럼 HTML/DOM 구문 분석기가 원하는 작업에 더 적합 할 수 있습니다.