<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="0.92">
<channel>
	<title>MT312 &#187; 自前Utilityクラス</title>
	<link>http://www.mt312.com</link>
	<description></description>
	<lastBuildDate>Sun, 13 Jul 2008 21:49:58 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>ja</language>
	
	<item>
		<title>自前Utilityクラス</title>
		<description>当サイトの素材でも使っている、便利な関数を紹介していきます。
PHPアプリでは、文字データをチェック、加工したい場面が頻繁に訪れます。
沢山の処理の中で頻繁に使う部分や、別のスクリプトで再度使うであろう部分は、
このクラスに集めておいて必要な時に呼び出すと便利です。
番号とパスワードの妥当性チェック
[php]
function isDigit($id) {
  if(!preg_match('/^[1-9][0-9]*$/', $id)) $id = '';
  return $id;
}

function isPass($pass) {
  if(!preg_match('/^[0-9A-Z]+$/i', $pass)) $pass = '';
  return $pass;
}
[/php]
isDigitは、引数が0から始まらず数字のみで構成されているかどうかを判断します。
単に数字の羅列かどうかを調べたいなら、is_numeric関数が用意されています。
isPassは、引数が半角英数字のみで構成されているかどうかを判断します。
メールアドレス、URLの妥当性チェック
[php]
function isMail($mail) {
  if(!preg_match('/^[\w\-\.]+@[\w\-]+(\.[\w\-]+)+$/', $mail)) $mail = '';
  return $mail;
}

function isUrl($url) {
  if(!preg_match('/^(https?&#124;ftp):\/\/[\w\+\$\;\?\-\/\.%,!#~*:@&=]+$/', $url)) $url = '';
  return $url;
}

// \w = 英数字[_a-zA-Z0-9]
[/php]
メールアドレスの妥当性はこれで大体計れますが、厳密には相当長い正規表現が必要になります。更に、携帯用アドレスには例外もあります。旧J-PHONE機で「?」「/」「+」が含まれるものや、上記関数では通りますが、ピリオドが連続するような不思議なアドレスも存在します。
文字列からURLをリンクで置換する
[php]
function autolink($str) {
 ...</description>
		<link>http://www.mt312.com/php/32/</link>
			</item>
</channel>
</rss>
