wpseek.com
A WordPress-centric search engine for devs and theme authors



valid_unicode › WordPress Function

Since2.7.0
Deprecatedn/a
› valid_unicode ( $i )
Parameters:
  • (int) $i Code point to check.
    Required: Yes
Links:
Returns:
  • (bool) Whether the code point is allowed by the XML Char production.
Defined at:
Codex:

Determines whether a code point is allowed by the XML Char production.

Despite its name, this helper does not report whether a code point is valid Unicode. It follows the XML Char production: C0 controls other than HT/LF/CR are rejected even though they are valid Unicode (for example U+0008 BACKSPACE), as are surrogates and U+FFFE/U+FFFF. Prefer the newer Unicode/UTF-8 helpers (for example wp_is_valid_utf8) rather than extending call sites here. > Characters > > … > Legal characters are tab, carriage return, line feed, and the legal characters of > Unicode and ISO/IEC 10646. > … > Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]


Source

function valid_unicode( $i ) {
	$i = (int) $i;

	return (
		0x9 === $i || // U+0009 HORIZONTAL TABULATION (HT)
		0xA === $i || // U+000A LINE FEED (LF)
		0xD === $i || // U+000D CARRIAGE RETURN (CR)
		/*
		 * The valid Unicode characters according to the XML specification:
		 *
		 * > any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.
		 */
		( 0x20 <= $i && $i <= 0xD7FF ) ||
		( 0xE000 <= $i && $i <= 0xFFFD ) ||
		( 0x10000 <= $i && $i <= 0x10FFFF )
	);
}