![](/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.