-
- /**
- * 文字列エンコーディングを決定する
- * bbs.it-home.org によって編集する
- */
- function is_utf8($word)
- {
- if(preg_match("/^([".chr(228)."-".chr( 233)."]開発済み[".chr(128)."-".chr(191)."]開発済み[".chr(128)."-".chr(191)."]開発済み)開発/" ,$word) == true || preg_match("/([".chr(228)."-".chr(233)."]開発済み[".chr(128)."-".chr(191) ."]開発[".chr(128)."-".chr(191)."]開発)開発$/",$word) == true || preg_match("/([".chr(228) ."-".chr(233)."]開発されました[".chr(128)."-".chr(191)."]開発されました[".chr(128)."-".chr(191)。 "]開発){2,}/",$word) == true) {
- return true;
- }else {
- return false }
- }
- $t = 'wangbin';
- //$t = iconv ('GB2312','UTF-8',$t)
- var_dump(is_utf8($t));
- ?>
-
コードをコピー
さらに、PHP の関数 mb_detect_encoding もそのような関数を実装できます。
文字列が PHP で utf8 エンコードされたコードかどうかを検出します。関数: mb_detect_encoding。これには、PHP 環境に mb_string ライブラリがインストールされている必要があります。
mb_detect_encoding 関数の関連情報については、以下を参照してください。
文字列エンコーディングを取得するphp関数mb_detect_encoding
php mb_detect_encoding は不正な文字列エンコーディングの問題を検出します
実装された関数は次のとおりです:
-
- /**
- * utf8 エンコードかどうかを確認してください
- * bbs.it-home.org で編集してください
- */
- function is_utf8($string) {
- return preg_match('%^(?:
- [x09x0Ax0Dx20-x7E] # ASCII
- | [xC2-xDF][x80-xBF] # オーバーロングでない 2 バイト
- | 2} # ストレート 3 バイト
- | xED[x80-x9F][x80-xBF] # サロゲートを除く
- # プレーン 4-15
- | {2} # プレーン 16
- )*$%xs', $string)
- }
- ?>
-
-
- コードをコピー
手順:
精度は、良くも悪くも基本的に mb_detect_encoding と同じです。しかし、日常の開発には基本的にこれで十分です。
|