2009-12-12 3 views
0

이 표현식을 사용하여 페이지에서 공백 (공백이있는 모든 태그 포함) 태그를 모두 제거했습니다. 는이 같은 내용을 처리 할 때까지 preg_replace 빈 태그를 제거하지만 blockquotes의 끝을 유지합니다.

$content = preg_replace('/<[^\/>]*>([\s]?)*<\/[^>]*>/', '', $content); 

그것은 ...

<blockquote> 
<p >foo bar</p> 
</blockquote> 
<p ><a href="image.jpg" rel="lightbox" title=""><img title="image" src="image.jpg" /></a><br /></p> 

을 치료 근무하며

<blockquote> 
<p >this is a test for the pluggin</p> 
<p ><a href="image.jpg" rel="lightbox" title=""><img title="image" src="image.jpg" /></a><br /></p> 

는 따라서 </blockquote>을 제거 ...로 출력합니다.

나는이 머리에 긁적 거리며 작동하지 못한다. 누구든지 형식을 지정해야하는 태그를 지정하는 것 외에 다른 명백한 솔루션을 볼 수 있습니까? 나는 또한 그것이 'the_content'wordpress 게시물에 서식을 말해야합니다.

답변

3

HTML은 정규 구문이 아니기 때문에 Regexps와 HTML은 잘 맞지 않으며 끝이없는 경우와 끝이 없습니다. this one과 같은 HTML 파서를 사용하고 DOM 객체를 검사/조작하는 것이 좋습니다.

0

간단한 HTML 돔보다 더 진보 된 HTML Purifier을보고 싶을 수도 있습니다. 모든 태그를 얻지 못한다면 찾을 수 있습니다.