2013-05-06 69 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

我会用'strpos/substr'来获取''的内容,然后调用'strip_tags'。 DOM解析器会失去很多时间解析/制作不需要的数组。 – 2013-05-06 21:24:15

回答

0

如果你只是想从文本中删除标签,DOMDocument是一个非常重量级的做法。 strip_tags是不是有足够的理由?

+0

不,因为那么你只是剥离标签而不是之间的内容。 – Steven 2013-05-06 21:29:56