如何从 HTML 内容中删除 `` 标签?

Linda Hamilton
发布: 2024-11-21 10:41:11
原创
647 人浏览过

How to Remove `` Tags from HTML Content?

从 HTML 内容中删除脚本标签

问题:

如何有选择地仅删除

答案:

使用正则表达式 (Regex)

虽然不推荐为了解析 HTML,可以使用一个简单的正则表达式来删除 <script> 。标签:</script>

$html = preg_replace('#<script(.*?)>(.*?)</script>#is', '', $html);
登录后复制

使用 DOMDocument:

更可靠、更安全的方法是使用 DOMDocument 类:

$dom = new DOMDocument();
$dom->loadHTML($html);
$script = $dom->getElementsByTagName('script');
$remove = [];
foreach($script as $item) {
    $remove[] = $item;
}
foreach ($remove as $item) {
    $item->parentNode->removeChild($item);
}
$html = $dom->saveHTML();
登录后复制

附加选项:

使用 PHP 的原生 strip_tags() 函数

虽然它不会选择性地删除 <script>标签,它可用于删除所有 HTML 标签:</script>

$html = strip_tags($html, '<p><a><b>');
登录后复制

使用 HTML Purifier

如果您希望执行全面的 HTML 解析和安全措施,请考虑使用HTML Purifier 库:

$config = HTMLPurifier_Config::createDefault();
$config->set('Core.RemoveScript', true);
$purifier = new HTMLPurifier($config);
$html = $purifier->purify($html);
登录后复制

以上是如何从 HTML 内容中删除 `` 标签?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板