PHP strip_tag 和 htmlspecialchars 不适用于多输入
PHP strip_tag and htmlspecialchars not working for multiple input
我正在尝试从多个用户输入中删除 html 标签。
我单独尝试过它有效,但是当我把它变成一个函数时,它 不是 删除 html 标签...
$test = array('name' => '<script>alert("HELLO..");</script>',
'phone' => '23497999000000'
);
(clean($test));
function clean($field)
{
foreach ($field as $key => $value) {
$value = htmlspecialchars(strip_tags($value));
}
return $field;
}
您设置了 $value 的值,但当它超出范围时丢失了它。
我认为它会是正确的:
function clean($field)
{
foreach ($field as $key => $value) {
$field[$key] = htmlspecialchars(strip_tags($value));
}
return $field;
}
您没有将值分配给任何东西,因此值在您的内部循环中丢失了。
function clean($field)
{
foreach ($field as $key => $value) {
$field[$key] = htmlspecialchars(strip_tags($value));
}
return $field;
}
您还想在返回时保留清理后的版本:
$test = clean($test);
通过选项 $value
参考:
function clean($field)
{
foreach ($field as &$value) {
$value = htmlspecialchars(strip_tags($value));
}
return $field;
}
我正在尝试从多个用户输入中删除 html 标签。 我单独尝试过它有效,但是当我把它变成一个函数时,它 不是 删除 html 标签...
$test = array('name' => '<script>alert("HELLO..");</script>',
'phone' => '23497999000000'
);
(clean($test));
function clean($field)
{
foreach ($field as $key => $value) {
$value = htmlspecialchars(strip_tags($value));
}
return $field;
}
您设置了 $value 的值,但当它超出范围时丢失了它。
我认为它会是正确的:
function clean($field)
{
foreach ($field as $key => $value) {
$field[$key] = htmlspecialchars(strip_tags($value));
}
return $field;
}
您没有将值分配给任何东西,因此值在您的内部循环中丢失了。
function clean($field)
{
foreach ($field as $key => $value) {
$field[$key] = htmlspecialchars(strip_tags($value));
}
return $field;
}
您还想在返回时保留清理后的版本:
$test = clean($test);
通过选项 $value
参考:
function clean($field)
{
foreach ($field as &$value) {
$value = htmlspecialchars(strip_tags($value));
}
return $field;
}