文字列の変換・エンコード・デコードなどの処理。
特定文字の変換 ・<、>、&、"、'を<、>、&、"、'に変える $str = htmlspecialchars($str); $str = htmlspecialchars($str, ENT_NOQUOTES); ・オプション ENT_COMPAT:"変換、'無変換 ENT_QUOTES:"変換、'変換 ENT_NOQUOTES:"無変換、'無変換 省略時は、ENT_COMPAT ・\r\n、\r、\nを<br />に変える $str = nl2br($str); ・タグを取り除く strip_tags(文字列, 取り除かないタグ) $str = strip_tags($str); $str = strip_tags($str, "<H1>"); 文字のエスケープ ・addslashes '、"、\、NULLバイトの4つに\を付加する magic_quotes_gpcがONの場合、自動的に上記文字に\が付加される if(get_magic_quotes_gpc() == 0){ $str = addslashes($str); } ・stripslashes '、"、\、NULLバイトの4つにある\を除去する ・php.ini magic_quotes_gpc off 'や\などを自動的にエスケープしない。 magic_quotes_gpc on 'や\などを自動的にエスケープする。 サイトがSJISなら表能ソなど\(5C)を含む文字もエスケープされる。 ・.htaccessで設定する場合 php_flag magic_quotes_gpc off 文字コード変換 mb_convert_encoding(対象文字列, 変換後のコード, 変換前の文字コード); ・変換例(変換前の文字コード自動判別) $str_encoded = mb_convert_encoding($str, "UTF-8"); ・変換例(変換前の文字コード指定) / 分かるなら指定した方がいい $str_encoded = mb_convert_encoding($str, "UTF-8", "SJIS"); ・文字コードコード ASCII SJIS JIS EUC-JP UTF-8 暗号化・エンコード・デコード ・URL ・URLエンコード $str = urlencode($str); ・URLデコード $str = urldecode($str); ・Base64 ・エンコード $str = base64_encode($str); ・デコード $str = base64_decode($str); ・crypt $str_crypt = crypt($str, "samplestr"); ・ROT13 / アルファベットのみ変換。13文字シフト。 $str_rot13 = str_rot13($str); ・MD5 $str_md5 = md5($str); ・SHA1 $str_sha1 = sha1($str); 全角・半角の変換(カタカナ・ひらがな・英数字) mb_convert_kana(変換文字列, オプション, [エンコーディング]); ・オプション 各オプションは、併用できる。 k:全角カタカナから半角カタカナ K:半角カタカナから全角カタカナ h:全角ひらがなから半角カタカナ H:半角カタカナから全角ひらがな c:全角カタカナから全角ひらがな C:全角ひらがなから全角カタカナ V:濁点を一文字にする(Kなどとともに使う) r:全角英字から半角英字 R:半角英字から全角英字 n:全角数字から半角数字 N:半角数字から全角数字 a:全角英数字から半角英数字 A:半角英数字から全角英数字 s:全角スペースから半角スペース S:半角スペースから全角スペース ・エンコーディング 変換する文字列の元のエンコーディングを指定 省略可能 SJIS、EUC-JPなど ・半角カタカナを全角カタカナに変換する例 $str = "オプション"; $str1 = mb_convert_kana($str, K); $str2 = mb_convert_kana($str, KV); $str1は、「オフ゜ション」になる。 $str2は、「オプション」になる。 大文字・小文字の変換 mb_convert_case(変換文字列, オプション, [エンコーディング]) ・オプション MB_CASE_UPPER:大文字に変換 MB_CASE_LOWER:小文字に変換 MB_CASE_TITLE:頭文字を大文字に変換 ・エンコーディング 変換する文字列の元のエンコーディングを指定 省略可能 SJIS、EUC-JPなど ・小文字を大文字に変換する例 $str = "ABCDabcd; $str = mb_convert_case($str, MB_CASE_UPPER); ・その他 大文字に変換:mb_strtoupper(変換文字列, [エンコーディング]) 小文字に変換:mb_strtolower(変換文字列, [エンコーディング])