2011-03-01 29 views
2

入力されているかどうかを確認したいですか?入力がリンクであるかどうかを確認してください

$s = $_POST['link']; 

$ sがリンクかどうかを確認します。

+0

を、あなたは 'URL' を意味するのですか? – jondavidjohn

+0

どのような種類のリンクですか?この形式: 'http://google.com'など – KyleFarris

+1

リンクとはどういう意味ですか? file://// a /はリンクと見なすことができますが、それは非常に有用なものではありません。 –

答えて

2

あなたは、いくつかの方法があります

filter_var('example.com', FILTER_VALIDATE_URL); 
+0

私はそんなことは考えられませんでした。ありがとうございました...詳細については、http://us.php.net/manual/en/function.filter-var.php – KyleFarris

2

)(にfilter_var使用することができますが、最も堅牢でURLを検出するために、正規表現を使用することです。このような

何かがうまく機能: 'リンク' によって

$pattern = '/^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)[email protected])?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/'; 

$isLink = preg_match($pattern, $url); // Returns true if a link 
+0

に興味があります。これはPHP 5を使用していない人にとっては妥当な答えのようですそれらのサーバを使用するか、smottの回答と比較してURLのより堅牢なチェックが必要です。 – KyleFarris

0
function isValidURL($url) { 
    return preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url); 
} 

if(!isValidURL($fldbanner_url)) { 
    $errMsg .= "* Please enter valid URL including http://<br>"; 
} 
関連する問題