PHP特殊字符到html实体代码
我正在尝试将数组中的特殊字符转换为html实体代码: 这是我的助手数组:PHP特殊字符到html实体代码,php,special-characters,html-entities,array-map,Php,Special Characters,Html Entities,Array Map,我正在尝试将数组中的特殊字符转换为html实体代码: 这是我的助手数组: 'specialChars' => [ '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`', '{', '|', '}', '§', '©', '¶' ] 但这只会返
'specialChars' => [
'!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+',
',', '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\',
']', '^', '_', '`', '{', '|', '}', '§', '©', '¶'
]
但这只会返回这个数组,它成功地转换了一些,而没有:
array:32 [▼
0 => "!"
1 => """
2 => "#"
3 => "$"
4 => "%"
5 => "&"
6 => "'"
7 => "("
8 => ")"
9 => "*"
10 => "+"
11 => ","
12 => "/"
13 => ":"
14 => ";"
15 => "<"
16 => "="
17 => ">"
18 => "?"
19 => "@"
20 => "["
21 => "\"
22 => "]"
23 => "^"
24 => "_"
25 => "`"
26 => "{"
27 => "|"
28 => "}"
29 => "§"
30 => "©"
31 => "¶"
]
您必须像这样使用htmlentities的第二个参数“flag”
$htmlEntityArray = array_map(function($char) {
return htmlentities($char, ENT_QUOTES | ENT_HTML5);
}, $specialChars);
您必须像这样使用htmlentities的第二个参数“flag”
$htmlEntityArray = array_map(function($char) {
return htmlentities($char, ENT_QUOTES | ENT_HTML5);
}, $specialChars);
您必须使用
entu引号
和entu HTML5
您必须使用
entu引号
和entu HTML5
注意:我没有检查实体列表,因此没有注意到所有字符都有翻译。不过我留下了答案,以防它可以帮助其他人使用不同的字符列表
来自(我的): 具有HTML字符实体等价物的所有字符都将转换为这些实体 另见
- -返回htmlspecialchars和htmlentities使用的转换表
HTML-ENTITIES
作为目标编码可以获得更好的结果。问题是实体中没有明显的模式(大多数是基本的US-ASCII字符,在HTML中没有任何特殊含义,因此不需要出于任何常见原因转换为HTML实体)。因此,您有两个选择:
- 在和等的帮助下生成数字实体
- 硬编码完整的实体列表并完成替换
- -返回htmlspecialchars和htmlentities使用的转换表
- 在和等的帮助下生成数字实体
- 硬编码完整的实体列表并完成替换
- 注意:我没有检查实体列表,因此没有注意到所有字符都有翻译。不过我留下了答案,以防它可以帮助其他人使用不同的字符列表
来自(我的): 具有HTML字符实体等价物的所有字符都将转换为这些实体 另见
HTML-ENTITIES
作为目标编码可以获得更好的结果。问题是实体中没有明显的模式(大多数是基本的US-ASCII字符,在HTML中没有任何特殊含义,因此不需要出于任何常见原因转换为HTML实体)。因此,您有两个选择:
Menu::convert('my name')代码>并作为输出获取我的姓名和任务代码>不使用方法,只需调用htmlentities($str,entu QUOTES | entu HTML5)
@utdev。我想如果在很多地方调用它,您可以使用一个方法。我需要如何编辑该函数以使类似的内容可用:Menu::convert('my name')代码>并作为输出获取我的姓名和任务代码>不使用方法,只需调用htmlentities($str,entu QUOTES | entu HTML5)
@utdev。我想如果在很多地方调用它,您可以使用一个方法。
$specialChars = [
'!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+',
',', '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\',
']', '^', '_', '`', '{', '|', '}', '§', '©', '¶'
];
var_export(array_map(function ($str) { return htmlentities($str, ENT_QUOTES | ENT_HTML5); }, $specialChars));
array (
0 => '!',
1 => '"',
2 => '#',
3 => '$',
4 => '%',
5 => '&',
6 => ''',
7 => '(',
8 => ')',
9 => '*',
10 => '+',
11 => ',',
12 => '/',
13 => ':',
14 => ';',
15 => '<',
16 => '=',
17 => '>',
18 => '?',
19 => '@',
20 => '[',
21 => '\',
22 => ']',
23 => '^',
24 => '_',
25 => '`',
26 => '{',
27 => '|',
28 => '}',
29 => '§',
30 => '©',
31 => '¶',
)