функция since 6.9.0

wp_is_valid_utf8()

Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.

Сигнатура

wp_is_valid_utf8( string $bytes ): bool

Описание

Обратите внимание: маловероятно, что данные не в UTF-8 пройдут проверку как UTF-8, но это всё же возможно. Многие тексты одновременно являются корректными UTF-8, US-ASCII и ISO-8859-1 (latin1).
Пример:

true === wp_is_valid_utf8( '' );
true === wp_is_valid_utf8( 'just a test' );
true === wp_is_valid_utf8( "\xE2\x9C\x8F" ); // Pencil, U+270F.
true === wp_is_valid_utf8( "\u{270F}" ); // Pencil, U+270F.
true === wp_is_valid_utf8( '✏' ); // Pencil, U+270F.

false === wp_is_valid_utf8( "just xC0 test" ); // Invalid bytes.
false === wp_is_valid_utf8( "\xE2\x9C" ); // Invalid/incomplete sequences.
false === wp_is_valid_utf8( "\xC1\xBF" ); // Overlong sequences.
false === wp_is_valid_utf8( "\xED\xB0\x80" ); // Surrogate halves.
false === wp_is_valid_utf8( "B\xFCch" ); // ISO-8859-1 high-bytes.
// E.g. The “ü” in ISO-8859-1 is a single byte 0xFC,
// but in UTF-8 is the two-byte sequence 0xC3 0xBC.«Корректная» строка состоит из «правильно сформированных последовательностей кодовых единиц UTF-8», то есть байты соответствуют схеме кодирования UTF-8, все символы используют минимальную последовательность байтов, требуемую UTF-8, и ни одна последовательность не кодирует суррогатную кодовую точку UTF-16 или символ выше представимого диапазона.
См. такжеhttps://www.unicode.org/versions/Unicode16.0.0/core-spec/chapter-3/#G32860

Оригинал (английский)

Note that it’s unlikely for non-UTF-8 data to validate as UTF-8, but it is still possible. Many texts are simultaneously valid UTF-8, valid US-ASCII, and valid ISO-8859-1 (latin1).

Example:

true === wp_is_valid_utf8( '' );
true === wp_is_valid_utf8( 'just a test' );
true === wp_is_valid_utf8( "\xE2\x9C\x8F" );    // Pencil, U+270F.
true === wp_is_valid_utf8( "\u{270F}" );        // Pencil, U+270F.
true === wp_is_valid_utf8( '✏' );              // Pencil, U+270F.

false === wp_is_valid_utf8( "just xC0 test" ); // Invalid bytes.
false === wp_is_valid_utf8( "\xE2\x9C" );       // Invalid/incomplete sequences.
false === wp_is_valid_utf8( "\xC1\xBF" );       // Overlong sequences.
false === wp_is_valid_utf8( "\xED\xB0\x80" );   // Surrogate halves.
false === wp_is_valid_utf8( "B\xFCch" );        // ISO-8859-1 high-bytes.
                                                // E.g. The “ü” in ISO-8859-1 is a single byte 0xFC,
                                                // but in UTF-8 is the two-byte sequence 0xC3 0xBC.

A “valid” string consists of “well-formed UTF-8 code unit sequence[s],” meaning that the bytes conform to the UTF-8 encoding scheme, all characters use the minimal byte sequence required by UTF-8, and that no sequence encodes a UTF-16 surrogate code point or any character above the representable range.

See also

Параметры

$bytes string обязательный
Строка, которая может содержать текст в кодировке UTF-8.

Возвращаемое значение

bool

Исходный код

wp-includes/utf8.php:39

function wp_is_valid_utf8( string $bytes ): bool {
	return mb_check_encoding( $bytes, 'UTF-8' );
}

История изменений

ВерсияОписание
6.9.0 Introduced.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.