PHPにはfilter_var()という関数があって、この関数を使うとURLのフォーマットチェックができます。(PHP 5.2.0以降) PHP: filter_var - Manual ですが、この関数のURLフォーマットチェックにはバグがあって、ドメイン部分にハイフンがあると「URLではない」と判定されてしまうようです。 PHP :: Bug #51192 :: FILTER_VALIDATE_URL will invalidate a hostname that includes '-' PHP :: Bug #51258 :: FILTER_VALIDATE_URL thinks dashes/hyphens in host name are invalid PHP 5.3.2環境で確認(5.3.3でも修正されていない?) 正常: <?php $value = 'http://ex