自前Utilityクラス
当サイトの素材でも使っている、便利な関数を紹介していきます。
PHPアプリでは、文字データをチェック、加工したい場面が頻繁に訪れます。
沢山の処理の中で頻繁に使う部分や、別のスクリプトで再度使うであろう部分は、
このクラスに集めておいて必要な時に呼び出すと便利です。
番号とパスワードの妥当性チェック
PHP:
-
function isDigit($id) {
-
return $id;
-
}
-
-
function isPass($pass) {
-
return $pass;
-
}
isDigitは、引数が0から始まらず数字のみで構成されているかどうかを判断します。
単に数字の羅列かどうかを調べたいなら、is_numeric関数が用意されています。
isPassは、引数が半角英数字のみで構成されているかどうかを判断します。
メールアドレス、URLの妥当性チェック
PHP:
-
function isMail($mail) {
-
return $mail;
-
}
-
-
function isUrl($url) {
-
return $url;
-
}
-
-
// \w = 英数字[_a-zA-Z0-9]
メールアドレスの妥当性はこれで大体計れますが、厳密には相当長い正規表現が必要になります。更に、携帯用アドレスには例外もあります。旧J-PHONE機で「?」「/」「+」が含まれるものや、上記関数では通りますが、ピリオドが連続するような不思議なアドレスも存在します。
文字列からURLをリンクで置換する
PHP:
-
function autolink($str) {
-
return preg_replace('/(https?|ftp)(:\/\/[\w\+\$\;\?\-\/\.%,!#~*:@&=]+)/', '<a href="\\1\\2">\\1\\2</a>', $str);
-
}
第二引数の\\1、\\2は後方参照と言って、第一引数内括弧()一番目、二番目に相当します。
(ちなみに\\0は第一引数の正規表現全部にマッチした文字列が入ります。)
秒数を計る
PHP:
ベンチマークなど、処理経過時間を計算したい時に使います。
microtime
文字列の最初と最後の余分なホワイトスペースを取り除く
PHP:
-
function mb_trim($str, $chars='\s ') {
-
return $str;
-
}
-
-
// \s = 空白文字[ \t\n\r\f]
内蔵のtrim関数に全角スペースを追加した機能。
(PHPでマルチバイトを正確に扱うには注意が必要です。)
マルチバイト文字列関数
UTF-8の場合はpreg_replaceで書けます。
PHP:
-
function mb_trim($str, $chars='\s ') {
-
return $str;
-
}
改行コードをBRタグに変換する
PHP:
-
function nlToBr($str) {
-
return $str;
-
}
フォームから受け取った文章内の改行をBRタグに変換します。改行を表す改行コードはOSによって異なる為、統一してから変換するとどのOSでも同じ効果が得られます。
| OS | 表示記号 | 改行コード | 改行文字 |
|---|---|---|---|
| Windows | CRLF | \x0D\x0A | \n |
| Macintosh | CR (Carriage Return 改行) | \x0D | \n |
| Unix | LF (Line Feed 行頭復帰) | \x0A | \n |
(注) 内蔵のnl2br(string)は改行文字の前に改行タグを挿入します。