我即将制作一个char计数函数,用于计算来自tinyMce textarea的输入。 使用以下代码进行服务器端验证:
$string = "is<isvery interesting <thatthis willbe stripped";
$stripped = strip_tags($string);
$count = strlen($stripped); // This will return 2
您可能会注意到$ string根本没有标记,无论如何strip_tags()
会删除第一个小于号的所有内容。
这是一个错误还是一个功能?
答案 0 :(得分:4)
strip_tags
实际上非常愚蠢。它剥离了一切,只是远程看起来像HTML标签。也就是说,从<
和一些字母数字符号开始,直到结束>
或尽可能得到。
在此上下文中观察到的行为是一个错误。但是,strip_tags
不是在输入HTML上进行错误纠正的工具。它的目的是剥离东西,以便其余部分可以安全地嵌入网站。有疑问,它剥离更多,这是一件好事。
答案 1 :(得分:4)
已记录在案:
因为strip_tags()实际上并不验证HTML,部分或 破碎的标签可以导致删除比预期更多的文本/数据。