PHP 半角カナ全角英数など鬱陶しいやつを$_GET $_POSTからまとめて掃除する


フォームで入力をしてもらうときに忌々しい半角カナが入力されていたり、半角英数しか使えないのに全角英数を入力されるのをいちいち弾くの面倒くさいよね。なら全部まとめて正規化してしまえというのがこの作法。

mb_convert_kanaでそれらの変換ができるので、全部まとめて変換してしまう。変換オプションについては公式を見よう。

ついでに無駄に前後に入っている空白文字も削除したりする。

<?php

//文字列掃除
function strclean(String $str){
	$str = mb_convert_kana($str,'aKVs');
	$str = trim($str);
	return $str;
}

//配列掃除
function array_strclean(Array $strs){
	foreach($strs as $index=>$value){
		if(is_array($value)){
			$strs[$index] = array_strclean($value);
		}else{
			$strs[$index] = strclean($value);
		}
	}
	return $strs;
}

if(sizeof($_GET)){
	array_strclean($_GET);
}
if(sizeof($_POST)){
	array_strclean($_POST);
}
if(sizeof($_COOKIE)){
	array_strclean($_COOKIE);
}