Fra*_*wis 5 php arrays array-map htmlspecialchars
我有一个值数组,我想通过htmlspecialchars运行,但有一个这样的参数:
$param = htmlspecialchars($param, ENT_QUOTES);
Run Code Online (Sandbox Code Playgroud)
问题是,我有一个值数组,我想运行htmlspecialchars:
$array = array_map('htmlspecialchars', $array);
Run Code Online (Sandbox Code Playgroud)
我想知道是否有办法将ENT_QUOTES传递给array_map回调?
我总是可以使用我自己的使用htmlspecialchars的函数,但如果有办法这样做会很好.
在下面的答案之后,这是我的最终结果:
$array = array_map('htmlspecialchars', $array, array_fill(0, count($array), ENT_QUOTES));
Run Code Online (Sandbox Code Playgroud)
这只是用$ 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);
Run Code Online (Sandbox Code Playgroud)
或者,更优雅一点:
$array = array('"',"'","''''''''''''\"");
$ent_quotes_array = array_fill(0, sizeof($array), ENT_QUOTES);
$array = array_map('htmlspecialchars', $array, $ent_quotes_array);
Run Code Online (Sandbox Code Playgroud)