PHP 如何从 URL 中删除脚本标签?

发布于 2024-12-01 02:42:07 字数 54 浏览 0 评论 0原文

我有 url(带有 file_get_contents )并且此链接有脚本标签,如何删除它们?

I have url ( with file_get_contents ) and this link have script tags, how can I remove them?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

尘曦 2024-12-08 02:42:07

尝试以下正则表达式(取自 jQuery 源代码)。

$data = preg_replace('/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi', '', $data);

在有人告诉我 Regexes+HTML 是一个邪恶的组合之前:你是对的,但在这种特定情况下它是完全有效的,因为脚本标签有一些特定的行为,例如第一个 < /code> 将关闭脚本标签;不管它是否在引号内等等。

但是,如果您打算对 HTML 数据执行任何其他操作,请使用 HTML 解析器!

Try the following regex (taken from the jQuery sourcecode).

$data = preg_replace('/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi', '', $data);

And before somebody is going to tell me that Regexes+HTML are an evil combination: You are right, but in this specific case it's perfecly valid since script tags have some specific behaviour such as that the first </script> will close the script tag; no matter if it's inside quotes etc.

However, if you plan to do anything else with the HTML data, use a HTML parser!

千纸鹤带着心事 2024-12-08 02:42:07

阅读此内容:编写安全的 PHP

另外,请不要窃取内容,如果是这样的话你正在做。

Read this: Writing secure PHP

Also, please don't steal content, if that's what you are doing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文