Подтвердить, если вход является ссылкой - PullRequest
2 голосов
/ 01 марта 2011

Я хочу проверить, является ли введенная ссылка ссылкой или нет.

$s = $_POST['link'];

проверить, является ли $ s ссылкой.

Ответы [ 3 ]

2 голосов
/ 02 марта 2011

Есть несколько способов, но наиболее надежным было бы использование регулярного выражения для определения 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 голосов
/ 01 марта 2011

Вы можете использовать filter_var ()

filter_var('example.com', FILTER_VALIDATE_URL);
0 голосов
/ 02 марта 2011
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>";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...