読者です 読者をやめる 読者になる 読者になる

PHP::機種依存文字だけ識別して除去

<?php
/*******
PHP:機種依存文字のチェック	
[ プログラミング ( ..)φメモメモ ]    
仕事の都合上、組まされました(/_;)

シフトJISの0x8540〜0x889Eを弾けば良いという事で、大体↓の様な感じに為りました。
*/
function hasPlatformDependent($str){
  // 文字列をシフトJISに変換
  $sjisStr = mb_convert_encoding($str, 'SJIS-win', 元々のエンコード名);

  // 一文字ずつチェック
  for($i = 0; $i < mb_strlen($sjisStr, 'SJIS-win'); $i++){
    // 指定位置の文字を取り出す
    $ch = mb_substr($sjisStr, $i, 1, 'SJIS-win');

    // 取得文字を16進数に変換
    $hex = intval(bin2hex($ch), 16);

    // 取得文字が機種依存文字か判定
    if($hex > 0x8540 && $hex < 0x889E){
      // 機種依存文字ですよ
      return mb_substr($str, $i, 1);
    }
  }
  return false;
}
/*
もっと良い方法がありましたら、御教え下さいまし<(_ _)>
*/
?>

via:http://plaza.rakuten.co.jp/freyr/diary/200602030001/