我有一组值,我想通过 htmlspecialchars 运行这些值,但带有如下参数:
$param = htmlspecialchars($param, ENT_QUOTES);
问题是,我有一组值,我想在这些值上运行 htmlspecialchars:
$array = array_map('htmlspecialchars', $array);
我想知道是否有办法将 ENT_QUOTES 传递到 array_map 回调中?
我总是可以使用我自己的函数,它使用 htmlspecialchars,但如果已经有办法做到这一点就好了。
在下面的答案之后,这是我的最终结果:
$array = array_map('htmlspecialchars', $array, array_fill(0, count($array), ENT_QUOTES));
它简单地用与 $array 一样多的值填充一个数组,并用 ENT_QUOTE 填充它。
最佳答案
如果您将第二个数组作为参数传递给 array_map
,这应该可以工作将包含尽可能多的ENT_QUOTES
元素作为您在 $array
中的元素数量:
$quote_style = ENT_QUOTES;
$array = array('"',"'","''''''''''''\"");
$ent_quotes_array = array($quote_style, $quote_style, $quote_style);
$array = array_map('htmlspecialchars', $array, $ent_quotes_array);
print_r($array);
或者,更优雅一点:
$array = array('"',"'","''''''''''''\"");
$ent_quotes_array = array_fill(0, sizeof($array), ENT_QUOTES);
$array = array_map('htmlspecialchars', $array, $ent_quotes_array);
关于php - 有没有办法在不先创建我自己的函数的情况下将参数发送到回调函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8454747/