在我的表单中验证用户输入,因此我制作了dataValidation
并添加了htmlspecialchars()
<?php
header('Content-Type: text/plain');
$post_cat = dataValidation("<a href='test'>Test</a>", ENT_QUOTES, 'UTF-8');
function dataValidation($cleandata) {
$data = trim($cleandata);
$data = stripslashes($cleandata);
$data = htmlspecialchars($cleandata);
return $cleandata;
}
echo $post_cat;
当我回复时,我会像这样<a href='test'>Test</a>
但实际上在使用 htmlspecialchars()
输出应该是这样的:
<a href='test'>Test</a>
但在我的情况下,dataValidation
功能无效
答案 0 :(得分:1)
return $cleandata;
应该是
return $data;
此外,您还要丢弃$data
的中间值。你可能不想要那个。
不是答案的一部分,但我建议您使用带代码分析的IDE。代码分析可以告诉您{em>每次分配后$data
没有被使用。这样可以让你及早发现这个bug。
答案 1 :(得分:1)
我认为应该是这样的
function dataValidation($cleandata) {
$data = trim($cleandata);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}