phpspotさんで紹介されていたのですが、結構忘れた頃に必要になったりするんで忘れないようにメモ。
文字列を投げると、URLかどうかをチェックしてTRUEかFALSEを返してくれます。
1 2 3 4 5 6 7 |
function is_url($text) { if (preg_match('/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/', $text)) { return TRUE; } else { return FALSE; } } |
これは便利。
以前に書いたカスタムメニューを拡張する記事とかの応用で、例えば説明文にアイコンURLを書いて、そのアイコンをメニューに添えるとか、メニュー背景を指定画像にするとか、そんなときに指定ミスでおかしくなるのを防ぐのに使えるかも?
1 2 3 4 5 |
if (is_url($item->description) == 1) { $item_output .= '<img src="'. esc_url($item->description) .'" width="128"><br>'; } else { $item_output .= 'URLが不正なようです'; } |
4行目はURLが正しくない時の処理ですが、ここもメッセージじゃなくて、汎用の画像を指定するとかすれば、万が一指定にミスしてもエラーメッセージじゃなくて汎用の画像になるのでレイアウトがおかしくなるのを防げるかもしれませんね。
コメントする