現在リニューアル中 → 旧サイトはこちら

使われることの多い文字列処理を共通関数としてまとめました。

全角トリム

左トリム、右トリムの後に両トリムを行います。

左トリム

function mb_Ltrim($str) { return preg_replace("/^ +/u", "", $str); }

右トリム

function mb_Rtrim($str) { return preg_replace("/ +$/u", "", $str); }

両トリム

function Mymb_trim($str) { return mb_Rtrim(mb_Ltrim($str)); }

magic_quotesアンクォート

magic_quotes_gpcがONの時、バックスラッシュを取り除きます。

function Mydel_slash($str) { if (get_magic_quotes_gpc() == 1) { return stripslashes($str); } else { return $str; } }

文字エンコーディング変換

// $str(文字列)  $enc(指定のエンコーディング) function Myencode($str, $enc) { // エンコーディング検出の順番(状況に合わせて) $enc_list = "EUC-JP, SJIS"; //文字コードのチェック $det_enc = mb_detect_encoding($str, $enc_list); if ($det_enc && $det_enc != $enc) { return mb_convert_encoding($str, $enc, $det_enc); } else { return $str; } }

一括変換

PHPでは、入力パラメータやDB取得値を配列で受け取ることが多いので、上記関数を使って配列内の文字列を一括変換します。

アンクォート及び空白除去

POSTまたはGETメソッドで入力されたパラメータ値から、余分なスラッシュや空白(全・半角)を除去。

function Mytrim_array($ary) { if (is_array($ary) ) { return array_map("Mytrim_array", $ary); } else { //magic_quotes_gpc=Onの時は、エスケープ解除 $ary = Mydel_slash($ary); // 空白(全・半角)除去 return Mymb_trim(trim($ary)); } }

HTMLエスケープ

HTML出力値に対して、出力直前に行う。

function Myhtml_array($ary) { if (is_array($ary) ) { return array_map("Myhtml_array", $ary); } else { return htmlspecialchars($ary, ENT_QUOTES); } }

文字エンコーディング

function Myencode_array($ary, $enc) { if (is_array($ary) ) { return array_map("Myencode_array", $ary); } else { return Myencode($ary, $enc); } }

SQLエスケープ(MySQL用)

SQLのクエリ入力値に対して行う。

function MySQLescape_array($ary) { if (is_array($ary) ) { return array_map("MySQLescape_array", $ary); } else { return mysql_escape_string($ary); } }

SQLエスケープ(MySQL)及び文字エンコーディング

DBアクセス時に文字変換が必要な場合。

function MySQLenc_array($ary, $enc) { if (is_array($ary) ) { return array_map("MySQLenc_array", $ary); } else { $ary = Myencode($ary, $enc); return mysql_escape_string($ary); } }