2013-05-06 3 views
0
나는 사용자가 제출 한 의견에서 태그와 내용을 제거하려면 다음 기능을 사용하고

:HTML 태그없이 DOM 컨텐츠를 반환하려면 어떻게해야합니까?

function remove_html_element($tag,$content){ 
    $doc = new DOMDocument(); 
    $doc->loadHTML($content); 
    $xpath = new DOMXPath($doc); 
    foreach ($xpath->query('//'.$tag) as $node) { 
     $node->parentNode->removeChild($node); 
    } 
    return $doc->saveHTML(); 
} 

문제는 반환 된 내용이 HTML <!DOCTYPE html PUBLIC (...)에 싸여 있다는 점이다.

태그를 추가하지 않고 콘텐츠를 반환하려면 어떻게해야합니까?

+0

''콘텐츠를 가져온 다음 'strip_tags'를 호출하기 위해'strpos/substr '을 사용하여 재생합니다. DOM 파서는 구문 분석/불필요한 배열 만들기에 많은 시간을 낭비하게됩니다. –

답변

0

단지 텍스트에서 태그를 제거하려는 경우 DOMDocument은 그렇게하는 데 너무나 큰 방법입니다. strip_tags으로 충분하지 않은 몇 가지 이유가 있습니까?

+0

아니요, 그 이유는 태그 사이에 내용이 아닌 태그 만 제거하기 때문입니다. – Steven

관련 문제