strip_tags
是 PHP 中用于移除 HTML 和 PHP 标签的函数。然而,它并不完美,有时可能会漏掉一些标签,或者在处理特殊字符时出现问题。如果你发现 strip_tags
不能满足你的需求,可以考虑以下几种替代方案:
虽然正则表达式可能不如专门的 HTML 解析器强大和稳定,但在某些情况下它仍然是一个快速且简单的解决方案。
function stripAllTags($string) {
return preg_replace('/<[^>]*>/', '', $string);
}
HTML Purifier 是一个专门用于清理和过滤 HTML 的 PHP 库。它可以更安全、更彻底地移除不需要的标签。
require_once 'htmlpurifier/HTMLPurifier.auto.php';
$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify($dirty_html);
你可以在这里找到更多关于 HTML Purifier 的信息:HTML Purifier 官网
PHP 的 DOMDocument
类可以解析 HTML 文档,并提供了移除节点的方法。
function stripHtmlTags($str) {
$dom = new DOMDocument();
@$dom->loadHTML($str);
return $dom->saveHTML();
}
还有一些第三方库可以帮助你处理 HTML,比如 symfony/dom-crawler
或 goutte/goutte
。
选择哪种方法取决于你的具体需求和场景。如果你需要更高级的 HTML 处理功能,建议使用专门的库或工具。
领取专属 10元无门槛券
手把手带您无忧上云