//我想实现下面函数的目的是,把传入函数的一个任意字符串或者数组(如果是数组则应用于每个单元)中的<,>,",'变成实例即&quto这种形式的,但奇怪的是传送这个数组的时候,再用var_dump查看htmlToEntity应用过的函数,返回是null
实在找不到原因了,请大家帮忙看一下,应当如何修改这个函数啊?
function htmlToEntity(&$value,$key="")
{
if(is_array($value))
{
array_walk($value,"htmlToEntity");
}
else
{
htmlspecialchars($value,ENT_QUOTES);
}
}
$array = array("a'","<>");
$array = htmlToEntity($array);
var_dump($array);//返回null
$array = htmlToEntity($array);
这句,因为htmlToEntity没有返回值,所以最后将NULL值赋给了$array,
改成下面的就可以了<?php
function htmlToEntity(&$value,$key="")
{
if(is_array($value))
{
array_walk($value,"htmlToEntity");
}
else
{
$value = htmlspecialchars($value,ENT_QUOTES);
}
}$array = array("<a href='test'>Test</a>", "<>");
$a = htmlToEntity($array);
var_dump($array);//返回null
print_r($array);
?>