便利なFilter関数を使いこなそう その5

ヒューマンリソシア 2016/1/26(火) 12:44 tweet11このエントリーをはてなブックマークに追加 印刷用
※この記事は読者によって投稿されたユーザー投稿のため、編集部の見解や意向と異なる場合があります。また、編集部はこの内容について正確性を保証できません。

ヒューマンリソシア株式会社はコラム「便利なFilter関数を使いこなそう その5」を公開しました。
今回も検証フィルタの続きです。
今回は、ネットワークに関連するもののうち「URL」のフィルタを見ていきます。

function hoge($s) {
$options = array(
);
var_dump($s);
var_dump(filter_var($s, FILTER_VALIDATE_URL, $options));
echo "\n";
}
//
hoge('http://www.example.com');
hoge('http://www.example.com:8080');
hoge('http://user:pass@www.example.com');
hoge('//example.com'); // false
hoge('ftp://example.com');
hoge('https://example.com/dir/filename.php');
hoge('https://example.com/dir/filename.php?param1=test&param2=test#anc');

URLは、シンプルなフォーマットから「そこそこややこしい」フォーマットまであります。
URLには「ユーザ名やパスワード」「ポート番号」「パラメタ」「アンカー」など
色々なものが埋め込めますが、それら全てを適切に把握してくれます。
HTMLを書く時に重宝する「プロトコルを省略する記法( ‘//example.com’ )はfalseになってしまいますが、
それ以外はすべて識別可能であることが分かります。

さてこのフィルタにも2つのオプションがあります。

function hoge($s) {
$options = array(
'flags' => FILTER_FLAG_PATH_REQUIRED
);
var_dump($s);
var_dump(filter_var($s, FILTER_VALIDATE_URL, $options));
echo "\n";
}
//
hoge('http://www.example.com'); // false
hoge('http://www.example.com/');
hoge('http://www.example.com:8080'); // false
hoge('http://user:pass@www.example.com'); // false
hoge('https://example.com/filename.php');
hoge('https://example.com/dir/filename.php');
hoge('https://example.com/dir/filename.php?param1=test&param2=test#anc');
hoge('https://example.com/?param1=test&param2=test#anc');

FILTER_FLAG_PATH_REQUIREDは「URLの中にパスがあること」を強要します。
なので、上3つは「パス部分がない」のでNGになります。
「’http://www.example.com/’」は、最後の / が「パス部分」になるので、falseにはりません。

似たようなフラグで「URLパラメタが必須」というものがあります。

この続きは以下をご覧ください
http://resocia.jp/column/5258/

この記事が役に立ったらシェア!
tweet11このエントリーをはてなブックマークに追加
みんなが読んでるWeb担メルマガで、あなたも最新情報をチェック
  • SEOやアクセス解析のなどノウハウをゲット
  • 事例やインタビューも見逃さない
  • 要チェックのセミナー情報も届く
  • 編集長コラムを一足先に読める
日本赤十字社 東日本大震災 義援金募集
みんなが読んでるWeb担メルマガで、あなたも最新情報をチェック
  • SEOやアクセス解析のなどノウハウをゲット
  • 事例やインタビューも見逃さない
  • 要チェックのセミナー情報も届く
  • 編集長コラムを一足先に読める

今日の用語

サイドバー
Webサイトのページ上で、コンテンツエリアとは区別して作られたエリアのこと。ナビ ... →用語集へ

連載/特集コーナーから探す

インフォメーション

Web担のメルマガを購読しませんか?
Web担の記事がコンパクトに毎週届くメールマガジン「Web担ウィークリー」は、10万人が読んでいる人気メルマガ。忙しいあなたの情報収集力をアップさせる強い味方で、お得な情報もいち早く入手できます。

Web担に広告を掲載しませんか?
購読者数10万人のメールマガジン広告をはじめとする広告サービスで、御社の認知向上やセミナー集客を強力にお手伝いいたします。

サイトマップ
RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]

GOLD SPONSOR
さくらインターネット株式会社株式会社KDDI ウェブコミュニケーションズ株式会社日本レジストリサービスオープンテキスト株式会社トランスコスモス株式会社株式会社ハイパーボックスDomain Keeper
SPONSOR
株式会社キノトロープ株式会社アイレップ株式会社ニューズ・ツー・ユーシックス・アパート株式会社ウェブアンテナ株式会社サイバーエージェント富士通株式会社Sitecore