gpt4 book ai didi

javascript - 有什么方法可以从 PHP 中的字符串中删除所有 javascript 吗?

转载 作者:行者123 更新时间:2023-11-30 17:07:44 24 4
gpt4 key购买 nike

我有以下 php 代码:

$mystr = "<script>window.onload = function(){console.log('Hi')}</script>";
$mystr .= "<div onmouseover='alert('Hi')'></div";

我想要的是从 $mystr 中去除所有类型的 javascript。

我正在尝试以下代码,但它保留了 onmouseover 事件。

$mystr = strip_tags($mystr,'<div>');

我也想删除 onmouseover 或任何其他内联 javascript 代码。

我实际上是在尝试在 wordpress 中实现上述目标。据我所知,wordpress 中没有 HTML 净化器。

最佳答案

这就是 strip_tags 的工作原理,例如:

$html = '<foo>hello<bar>world</bar></foo>';
$fixed = strip_tags($html, '<bar>');
echo $fixed;

输出:

hello<bar>world</bar>

它不理解 DOM,不理解 javascript。它本质上是在做:

$fixed = str_replace('<script>', '', $html);

它唯一的“智慧”是认识到标签可以有属性并将其删除。

如果您想删除标签及其所有内容,那么您应该使用 DOM 解析器,并从树中完全删除不需要的节点(也称为标签)及其子节点。

关于javascript - 有什么方法可以从 PHP 中的字符串中删除所有 javascript 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27628496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com