验证输入是否为链接

时间:2011-03-01 20:54:46

标签: php database validation

我想检查输入的链接是否是链接。

$s = $_POST['link'];

检查$ s是否为链接。

3 个答案:

答案 0 :(得分:2)

您可以使用filter_var()

filter_var('example.com', FILTER_VALIDATE_URL);

答案 1 :(得分:2)

有几种方法,但最强大的方法是使用正则表达式来检测URL。

这样的事情很有效:

$pattern = '/^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\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

答案 2 :(得分: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>";
}