strip_tags()函数能处理嵌入式标签吗?

3
我不在安装了PHP的计算机旁边,想知道strip_tags()对以下文本的结果是什么: "<scr<h1>ipt>alert('oh oh')</scr</h1>ipt>"
它会返回: "alert('oh oh')"(即不识别通过删除明显的标签而暴露出一个新标签) 还是 "<script>alert('oh oh')</script>"?
我知道如果它返回第一种情况,我可以反复调用该函数,直到得到我放入的内容,但我很好奇。
提前感谢。

我想一个合理的问题是:你为什么想这样做?如果你想避免XSS,上下文编码是正确的方法,而不是剥离标签。 - Erlend
2个回答

0

它只返回:

alert('oh oh')

0

很棒的问题。

不,它不会从该字符串中剥离任何内容:

<?php
$b = "ipt>alert('oh oh')ipt>";
echo strip_tags($b);
?>

输出结果是您的原始字符串:ipt>alert('oh oh')ipt>

编辑

在第二种情况下,它将打印alert('oh oh'),因此它会一次性剥离所有看起来像标签的内容。


抱歉,该帖子编辑了我的原始字符串,因为我没有使用HTML字符代码,请您再次查看。谢谢! - Cailen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接