gpt4 book ai didi

php - 删除 JavaScript 链接

转载 作者:行者123 更新时间:2023-12-02 21:59:20 25 4
gpt4 key购买 nike

我正在寻找一个正则表达式,它将能够替换所有链接,例如 <a href="javascript://potentiallybadstuff"> Link </a>并带有警告。我一直在玩,但到目前为止还没有成功!我一直不擅长正则表达式,有人能指出我正确的方向吗?到目前为止我有这个:

编辑:人们说不要使用正则表达式 - HTML 将是 markdown 解析器的输出,其中 markdown 中的所有 HTML 标签都会被删除。因此我知道所有链接的输出都将按照上述格式进行格式化,因此正则表达式在这种特殊情况下肯定是一个很好的工具。我不允许用户输入纯 HTML。 SO 做了一些非常相似的事情,尝试创建一个 javascript 链接,它将被删除

<?php
//Javascript link filter test
if(isset($_POST['jsfilter'])){
$html = "<a href=\"". $_POST['jsfilter']."\"> JS Link </a>";
$pattern = "/ href\\s*?=\\s*?[\"']\\s*?(javascript)\\s*?(:).*?([\"']) /is";
$replacement = "\"javascript: alert('Javascript links have been blocked');\"";
$html = preg_replace($pattern, $replacement, $html);
echo $html;
}
?>
<form method="post">
<input type="text" name="jsfilter" />
<button type="submit">Submit</button>
</form>

最佳答案

正确的正则表达式应该是:

$pattern = '/href="javascript:[^"]+"/';
$replacement = 'href="javascript:alert(\'Javascript links have been blocked\')"';

关于php - 删除 JavaScript 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17214088/

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