gpt4 book ai didi

PHP:strip_tags()是否去除自闭合XHTML标签?

转载 作者:行者123 更新时间:2023-12-04 14:58:35 25 4
gpt4 key购买 nike

PHP手册说

5.3.4 strip_tags() no longer strips self-closing XHTML tags unless the self-closing XHTML tag is also given in allowable_tags.

但是当我这样做时(5.5):

$text = "<base/><br/>World<hr><input/>";

echo strip_tags($text);

输出是World,即它会删除自闭合XHTML标签。

最佳答案

本例中的文档完全是错误的。

strip_tags() 没有任何允许的标签可以很好地去除自闭合标签。但发生的变化是,从 >= 5.3.4 开始,自闭合标签将被忽略:

$string = "foo<br>bar<br/>baz<br />\r\n";

echo strip_tags($string); // foobarbaz
echo strip_tags($string, '<br>'); // foo<br>bar<br/>baz<br />
echo strip_tags($string, '<br/>'); // foobarbaz
echo strip_tags($string, '<br />'); // foobarbaz
echo strip_tags($string, '<br><br/>'); // foo<br>bar<br/>baz<br/>

我已经 created a bug让它在文档中修复它。

docs are updated反射(reflect)实际的正确行为。

然而,自闭标签和“正常”标签需要单独定义这一事实一开始对我来说似乎很奇怪,所以 也许也需要修复。

<罢工>

阅读原文时 bug report我并不完全清楚修复了什么以及预期的输出是什么,所以我需要进行更多调查。

我最初的假设是应该添加自闭合标签和非自闭合标签,这是错误的。

关于PHP:strip_tags()是否去除自闭合XHTML标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32342441/

25 4 0