バリデーション

■preg_match

D修飾子を指定しない場合、検索対象文字列の最後の文字が改行文字であれば、その直前にもマッチする。

#以下はマッチする
$var = “123\n”;
preg_match(‘/^[0-9]+$/’,$var);

■ereg

eregはバイナリセーフではないので\0等の特殊文字が存在すると、そこまでの評価になる。
バリデーション時に利用すべきでない

#以下はマッチする
$var = “123\0abc”;
ereg(‘/^[0-9]+$/’,$var);