javascript - 如何从 HTML 页面中删除所有 JavaScript?

标签 javascript php html regex

我可以使用正则表达式来摆脱 <script> HTML 中的标签如下所示

$html = preg_replace('#<script(.*?)>(.*?)</script>#is','', $html);

这样就可以了,但是内联 JavaScript 呢?我发现我可以这样做

$nodes = $dom->getElementsByTagName('*');
foreach($nodes as $node)
{
  if ($node->hasAttribute('onload')){
    $node->removeAttribute('onload');
  }
}

问题是我必须找到所有属性,并继续创建 if声明。我也见过图书馆,但我想让东西保持小规模。那么有没有什么快速的方法呢?如果我必须继续做我正在做的事情,还有任何带有内联属性的不错的列表吗?

最佳答案

我想说,不要重新发明轮子,使用像 http://htmlpurifier.org/ 这样的库来实现这一点。

关于javascript - 如何从 HTML 页面中删除所有 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25614825/

相关文章:

javascript - 网站上的实时视频流

php - 我正在使用 zend 框架开始一个新项目,并希望获得一些资源来帮助我

php - PostgreSQL 与 PHP 的连接无法正常工作

html - 绘制 float 图像 HTML CSS

javascript - 编辑我在表单字段中提交的元素

javascript canvas.toDataURL 与原始数据 URI 相比的变化

javascript - HTML 选项和值交换

php - 通过 Button 向 Php 函数传递值

html - 如何删除对齐的CSS中的空白

javascript - 如何使用 jQuery 解析 JSON