wp_check_invalid_utf8()


WordPress関数wp_check_invalid_utf8()は、文字列内に無効なUTF-8文字が含まれているかどうかを確認するために使用されます。

シンタックス

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

引数の説明:

  • $string (string) — 検証する文字列。
  • $strip (bool) — 無効なUTF-8文字を削除するかどうかを指定します。デフォルトはfalse。

例1: 無効なUTF-8文字の確認

文字列が無効なUTF-8文字を含んでいるかを確認します。

<?php
$string = "テスト文字列";
if ( wp_check_invalid_utf8( $string ) ) {
    echo "無効なUTF-8文字が含まれています。";
} else {
    echo "有効なUTF-8文字列です。";
}
?>

例2: 無効な文字を削除する

文字列から無効なUTF-8文字を削除します。

<?php
$string = "無効な文字列\x80";
$cleaned_string = wp_check_invalid_utf8( $string, true );
echo $cleaned_string;
?>

例3: 入力データの検証

フォーム入力データをチェックし、安全な形式に整えます。

<?php
$user_input = $_POST['user_input'] ?? '';
if ( wp_check_invalid_utf8( $user_input ) ) {
    echo "無効な入力データです。";
} else {
    echo "入力データは有効です。";
}
?>

例4: 配列内の文字列を検証する

配列内のすべての文字列を検証します。

<?php
$data = ['テスト', "無効な文字列\x80", '正常な文字列'];
foreach ( $data as $item ) {
    if ( wp_check_invalid_utf8( $item ) ) {
        echo "無効なUTF-8文字を検出しました。";
    } else {
        echo "文字列は有効です。";
    }
}
?>

注意点

  • この関数は単純なUTF-8検証に適しており、厳密な文字列正規化を行うものではありません。
  • $stripをtrueに設定した場合、無効な文字を削除しますが、意図しないデータの変化に注意してください。

関連機能: