wp_has_noncharacters()
云策文档标注
概述
wp_has_noncharacters() 函数用于检测给定字符串是否包含 Unicode 非字符。Unicode 非字符在 XML 和 HTML 规范中不推荐或禁止使用,主要涉及特定范围的码点。
关键要点
- 函数返回布尔值,指示字符串中是否发现非字符。
- 非字符码点范围包括 U+FDD0–U+FDEF、U+FFFE–U+FFFF 以及 U+1FFFE 到 U+10FFFF 的特定序列。
- 相关规范参考 Unicode、XML 和 HTML 标准,确保数据交换的兼容性。
- 该函数在 WordPress 6.9.0 版本中引入,常用于 WP_HTML_Tag_Processor::set_attribute() 等场景。
代码示例
function wp_has_noncharacters( string $text ): bool {ntreturn 1 === preg_match(ntt'/[x{FDD0}-x{FDEF}x{FFFE}x{FFFF}x{1FFFE}x{1FFFF}x{2FFFE}x{2FFFF}x{3FFFE}x{3FFFF}x{4FFFE}x{4FFFF}x{5FFFE}x{5FFFF}x{6FFFE}x{6FFFF}x{7FFFE}x{7FFFF}x{8FFFE}x{8FFFF}x{9FFFE}x{9FFFF}x{AFFFE}x{AFFFF}x{BFFFE}x{BFFFF}x{CFFFE}x{CFFFF}x{DFFFE}x{DFFFF}x{EFFFE}x{EFFFF}x{FFFFE}x{FFFFF}x{10FFFE}x{10FFFF}]/u',ntt$textnt);n}
原文内容
Returns whether the given string contains Unicode noncharacters.
Description
XML recommends against using noncharacters and HTML forbids their use in attribute names. Unicode recommends that they not be used in open exchange of data.
Noncharacters are code points within the following ranges:
- U+FDD0–U+FDEF
- U+FFFE–U+FFFF
- U+1FFFE, U+1FFFF, U+2FFFE, U+2FFFF, …, U+10FFFE, U+10FFFF
See also
Parameters
$textstringrequired-
Are there noncharacters in this string?
Source
function wp_has_noncharacters( string $text ): bool {
return 1 === preg_match(
'/[x{FDD0}-x{FDEF}x{FFFE}x{FFFF}x{1FFFE}x{1FFFF}x{2FFFE}x{2FFFF}x{3FFFE}x{3FFFF}x{4FFFE}x{4FFFF}x{5FFFE}x{5FFFF}x{6FFFE}x{6FFFF}x{7FFFE}x{7FFFF}x{8FFFE}x{8FFFF}x{9FFFE}x{9FFFF}x{AFFFE}x{AFFFF}x{BFFFE}x{BFFFF}x{CFFFE}x{CFFFF}x{DFFFE}x{DFFFF}x{EFFFE}x{EFFFF}x{FFFFE}x{FFFFF}x{10FFFE}x{10FFFF}]/u',
$text
);
}
Changelog
| Version | Description |
|---|---|
| 6.9.0 | Introduced. |