![](/img/trans.png)
[英]How to set ENT_QUOTES flag by default for htmlentities() function in php
[英]Applying htmlentities ENT_QUOTES on array
我有一个数组$ fields:
Array
(
[NAME] => M'y Na'me
)
我想将那些撇号转换为实体。 当我跑步时:
array_map('htmlentities', &$fields, array_fill(0 , count($fields) , ENT_QUOTES) );
然后print_r $fields
似乎什么都没有改变?
Array
(
[NAME] => M'y Na'me
)
如何在$fields
所有元素上应用带有ENT_QUOTES
htmlentity?
编辑:这使我失去钥匙
$fields = array_map('htmlentities', $fields, array_fill(0 , count($fields) , ENT_QUOTES) );
根据文档, array_map
返回一个新数组,并且不修改就地传递的数组。
$fields = array_map(
'htmlentities', &$fields,
array_fill(0 , count($fields) , ENT_QUOTES)
);
根据评论进行编辑-
由于这是PHP,因此我认为最好的方法是放弃功能路线,并采用老式的方式:
foreach($fields as $key => $value) {
$fields[$key] = htmlentities($value, ENT_QUOTES);
}
即使您将其传递为引用, array_map
也不会修改该数组。
请改用$fields = array_map('htmlentities', $fields, ...)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.