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