根据HTML::Entities
文档,第二个参数是encode_entities
:
不安全字符是使用正则表达式字符类语法(您在正则表达式的括号中找到的)指定的。
要编码的默认字符集是控制字符、高位字符以及 <、&、>、' 和 " 字符。
但是,该页面没有提供默认集的等效参数的示例。我想对不安全的字符集进行细微调整,而不会倒退。
什么正则表达式字符类相当于«控制字符、高位字符以及我可以用作起点的 <、&、>、' 和 "»?
根据HTML::Entities
文档,第二个参数是encode_entities
:
不安全字符是使用正则表达式字符类语法(您在正则表达式的括号中找到的)指定的。
要编码的默认字符集是控制字符、高位字符以及 <、&、>、' 和 " 字符。
但是,该页面没有提供默认集的等效参数的示例。我想对不安全的字符集进行细微调整,而不会倒退。
什么正则表达式字符类相当于«控制字符、高位字符以及我可以用作起点的 <、&、>、' 和 "»?
根据模块源代码,它看起来像:
/([^\n\r\t !\#\$%\(-;=?-~])/
从这一点开始encode_entities
:
# Encode control chars, high bit chars and '<', '&', '>', ''' and '"'
$$ref =~ s/([^\n\r\t !\#\$%\(-;=?-~])/$char2entity{$1} || num_entity($1)/ge;
非否定类:
/([\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\xff<&>'"])/
看起来这是一个默认的替换正则表达式:
s/([^\n\r\t !\#\$%\(-;=?-~])/$char2entity{$1} || num_entity($1)/ge