Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

mb_check_encoding関数

PHP 5.1.4, PHP 4.4.3からはmb_check_encoding関数が文字エンコーディングの妥当性をチェックするための関数として追加されました。この関数は配列を引数に取れないのでarray_walk関数などと一緒に利用して$_GET,$_POST,$_COOKIE,$_SERVER等の値をチェックします。

むっ!mb_check_encoding関数とな!
まだPHPマニュアルの方には反映されていないようですが、

<?php
$func = array();
foreach (get_loaded_extensions() as $k => $v) {
  foreach (get_extension_funcs($v) as $k2 => $v2) {
    array_push($func, $v2);
  }
}
sort($func);
foreach ($func as $k => $v) {
  echo "$v<br>";
}
?>

とかやってみると、確かにありました(5.1.4で確認)。
で、PHPでの文字エンコーディングチェックのサンプルコードですが、Mojaviなどのフレームワークを使ってる場合、入力フィルタでサクッと入れられそうです。