检查字符串中的无效UTF8。

原型

wp_check_invalid_utf8( string $string, bool $strip = false )

参数

$string (string) (Required) 要检查的文本。

$strip (bool) (Optional)  是否试图删除无效的UTF8。默认值为false。

返回值

(string)  选中的文字。

源文件

路径:wp-includes/formatting.php

<?php
...
function wp_check_invalid_utf8( $string, $strip = false ) {
	$string = (string) $string;
	if ( 0 === strlen( $string ) ) {
		return '';
	}
	// Store the site charset as a static to avoid multiple calls to get_option()
	static $is_utf8 = null;
	if ( ! isset( $is_utf8 ) ) {
		$is_utf8 = in_array( get_option( 'blog_charset' ), array( 'utf8', 'utf-8', 'UTF8', 'UTF-8' ) );
	}
	if ( ! $is_utf8 ) {
		return $string;
	}
	// Check for support for utf8 in the installed PCRE library once and store the result in a static
	static $utf8_pcre = null;
	if ( ! isset( $utf8_pcre ) ) {
		$utf8_pcre = @preg_match( '/^./u', 'a' );
	}
	// We can't demand utf8 in the PCRE installation, so just return the string in those cases
	if ( !$utf8_pcre ) {
		return $string;
	}
	// preg_match fails when it encounters invalid UTF8 in $string
	if ( 1 === @preg_match( '/^./us', $string ) ) {
		return $string;
	}
	// Attempt to strip the bad chars if requested (not recommended)
	if ( $strip && function_exists( 'iconv' ) ) {
		return iconv( 'utf-8', 'utf-8', $string );
	}
	return '';
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/wp_check_invalid_utf8/