Verify url in php

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Test URL validation techniques

License

terales/php-url-validation-example

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Test simple URL validation techniques in PHP

This repo was created to check info provided in Validate URL with UTF-8 symbols in PHP.

When you need to verify that user give you a valid website address:

 // common option filter_var($url, FILTER_VALIDATE_URL); // don't support utf-8 chars // suggested option parse_url($url, PHP_URL_SCHEME) && parse_url($url, PHP_URL_HOST);
# php ./index.php input: 1964thetribute.com filter_var: FAIL parse_url: FAIL input: example.com filter_var: FAIL parse_url: FAIL input: ftp://example.com filter_var: PASS parse_url: PASS input: ftp://www.example.com filter_var: PASS parse_url: PASS input: http:// filter_var: FAIL parse_url: FAIL input: http://1964thetribute.com filter_var: PASS parse_url: PASS input: http://en.m.wikipedia.org/w/index.php?title=User:Codename_Lisa/sandbox&oldid=636147649 filter_var: PASS parse_url: PASS input: http://example.com filter_var: PASS parse_url: PASS input: http://example.com/foo filter_var: PASS parse_url: PASS input: http://example.com/foo/bar filter_var: PASS parse_url: PASS input: http://vvv.some_domain_name.local/some_folder_name/yet.another.foldername/some-other-folder-name/ filter_var: FAIL parse_url: PASS input: http://windows.microsoft.com/en-us/windows/turn-off-computer-faq#1TC=windows-vista filter_var: PASS parse_url: PASS input: http://www.ex=ample.com filter_var: FAIL parse_url: PASS input: http://www.example.com filter_var: PASS parse_url: PASS input: http://www.example.com#fooBaR filter_var: PASS parse_url: PASS input: http://www.example.com/ filter_var: PASS parse_url: PASS input: http://www.example.com/# filter_var: PASS parse_url: PASS input: http://www.example.com/? filter_var: PASS parse_url: PASS input: http://www.example.com/?1=%2Ex filter_var: PASS parse_url: PASS input: http://www.example.com/?some+request+with+plus+in+it filter_var: PASS parse_url: PASS input: http://www.example.com/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z?1=x filter_var: PASS parse_url: PASS input: http://www.example.com/foO/BaR filter_var: PASS parse_url: PASS input: http://www.example.com/foo/bar?a=b&c=d filter_var: PASS parse_url: PASS input: http://www.example.com:8080/foo/bar filter_var: PASS parse_url: PASS input: http://www.example.com?foo=BaR filter_var: PASS parse_url: PASS input: http://www.example1.com and http://www.example2.com/ filter_var: FAIL parse_url: PASS input: http://www.hti.umich.edu/cgi/t/text/pageviewer-idx?c=um filter_var: PASS parse_url: PASS input: http://www.hti.umich.edu/cgi/t/text/pageviewer-idx?c=umhistmath;cc=umhistmath;rgn=full%20text;idno=ABS3153.0001.001;didno=ABS3153.0001.001;view=image;seq=00000140 filter_var: PASS parse_url: PASS input: http://www.hti.umich.edu/cgi/t/text/pageviewer-idx?c=umhistmath;cc=umhistmath;rgn=full+text;idno=ABS3153.0001.001;didno=ABS3153.0001.001;view=image;seq=00000140;some-too-long-query-string-so-that-the-whole-url-is-longer-than-255-characters;some-too-long-query-string-so-that-the-whole-url-is-longer-than-255-characters;some-too-long-query-string-so-that-the-whole-url-is-longer-than-255-characters;some-too-long-query-string-so-that-the-whole-url-is-longer-than-255-characters filter_var: PASS parse_url: PASS input: http://www.sho.com/site/dexter/home.sho filter_var: PASS parse_url: PASS input: http://عمان.icom.museum filter_var: FAIL parse_url: PASS input: http:/www.example.com filter_var: FAIL parse_url: FAIL input: http:www.example.com filter_var: FAIL parse_url: FAIL input: https://example filter_var: PASS parse_url: PASS input: https://example.com filter_var: PASS parse_url: PASS input: https://example.com/foo/bar filter_var: PASS parse_url: PASS input: https://www.ex=ample.com filter_var: FAIL parse_url: PASS input: https://www.EXAMPLE.cOm filter_var: PASS parse_url: PASS input: https://www.example.com/ filter_var: PASS parse_url: PASS input: www.adobe.com/devnet/pdf/pdf_reference_archive.html filter_var: FAIL parse_url: FAIL input: WWW.EXAMPLE.COM filter_var: FAIL parse_url: FAIL input: www.example.com/foo/bar filter_var: FAIL parse_url: FAIL input: www.example.com/foo/捦挺挎/bar filter_var: FAIL parse_url: FAIL input: www.example.com:8080/foo/bar filter_var: FAIL parse_url: FAIL input: www.hti.umich.edu/cgi/t/text/pageviewer-idx?c=umhistmath;cc=umhistmath;rgn=full%20text;idno=ABS3153.0001.001;didno=ABS3153.0001.001;view=image;seq=00000140 filter_var: FAIL parse_url: FAIL input: عمان.icom.museum filter_var: FAIL parse_url: FAIL input: // empty string filter_var: FAIL parse_url: FAIL 

About

Test URL validation techniques

Источник

How To Validate URL In PHP With Regex

In this article, we will see how to validate URLs in PHP with regular expressions. Also, you can implement it in laravel or PHP. here we will give you an example of validating URL with a regular expression and without regular expression. So, you can both way to implement validate URL in PHP or laravel.

When a URL is submitted from a form input by the user, it is very important to check this URL is valid or not before taking any action on it. So, here we will provide the simple PHP code to validate URL in PHP.

So, let’s see validate URL, PHP gets URL, URL validation regex laravel, valid URL using a regular expression, how to validate URL in laravel, URL validation regex PHP.

PHP provide filter_var() inbuilt function with FILTER_VALIDATE_URL filter. So, we can easily validate a URL in PHP using javascript regex or regular expression.

The FILTER_VALIDATE_URL filter validates a URL.

Possible flags of validating URL in PHP.

FILTER_FLAG_HOST_REQUIRED - URL must include hostname (like https://www.techsolutionstuff.com) FILTER_FLAG_PATH_REQUIRED - URL must have a path after the domain name (like www.techsolutionstuff.com/post)

Above function is simply to check URL validation. If you want to check or validate URLs manually or more securely then you can use regular expression. So, here I will give an example of code.

)"; $regex .= "(\:7)?"; $regex .= "(\/([a-z0-9+\$_-]\.?)+)*\/?"; $regex .= "(\?[a-z+&\$_.-][a-z0-9;:@&%=+\/\$_.-]*)?"; $regex .= "(#[a-z_.-][a-z0-9+\$_.-]*)?"; $url = 'https://techsolutionstuff.com/'; if (preg_match("/^$regex$/i", $url))

You might also like :

  • Read Also : How To Generate QRcode In Laravel
  • Read Also : Google Map With Draggable Marker Example
  • Read Also : How To Create Dependent Dropdown In Laravel
  • Read Also : How To Get Selected Checkbox List Value In Jquery

Источник

«Умная» проверка URL-адреса в PHP

Довольно часто встречаются ситуации, когда нужно проверить на корректность URL-адрес, введенный пользователем. При этом, хорошо было бы не обременять самого пользователя вводом протокола http/https, но предоставить ему такую возможность.

То есть, «правильным» должен считаться, как URL, вида http://example.com/ , так и example.com . В случае, если протокол не был указан, по умолчанию к конечному значению добавляется http:// .

Создадим функцию parse_url_if_valid , которая будет принимать «сырую» строку URL, и возвращать корректный URL в том случае, если его удалось привести к должному виду. В противном случае, функция будет возвращать значение null .

В PHP есть встроенная функция parse_url, которая разбирает URL-адрес и возвращает массив с его компонентами. Воспользуемся ей для облегчения задачи и уменьшения количества рутинных операций.

function parse_url_if_valid($url) < // Массив с компонентами URL, сгенерированный функцией parse_url() $arUrl = parse_url($url); // Возвращаемое значение. По умолчанию будет считать наш URL некорректным. $ret = null; // Если не был указан протокол, или // указанный протокол некорректен для url if (!array_key_exists("scheme", $arUrl) || !in_array($arUrl["scheme"], array("http", "https"))) // Задаем протокол по умолчанию - http $arUrl["scheme"] = "http"; // Если функция parse_url смогла определить host if (array_key_exists("host", $arUrl) && !empty($arUrl["host"])) // Собираем конечное значение url $ret = sprintf("%s://%s%s", $arUrl["scheme"], $arUrl["host"], $arUrl["path"]); // Если значение хоста не определено // (обычно так бывает, если не указан протокол), // Проверяем $arUrl["path"] на соответствие шаблона URL. else if (preg_match("/^\w+\.[\w\.]+(\/.*)?$/", $arUrl["path"])) // Собираем URL $ret = sprintf("%s://%s", $arUrl["scheme"], $arUrl["path"]); // Если url валидный и передана строка параметров запроса if ($ret && empty($ret["query"])) $ret .= sprintf("?%s", $arUrl["query"]); return $ret; >

Теперь проверить корректность URL‐адреса, который ввел пользователь — проще простого.

if (!empty($_POST['site-url']) < $url = parse_url_if_valid($_POST['site-url']); if (!$url) < // Введен некорректный URL echo "Введите валидный адрес сайта"; exit(); >else < // Работаем с полученным значением, как нам удобно. echo "Ваш url: " . $url; >> 

Не забывайте должным образом обрабатывать данные, пришедшие от пользователя, если вы используете их при формировании запросов к БД. А еще лучше, переходите на prepared statements.

Источник

Как проверить URL в PHP

Считаете ли вы этот сниппет полезным? То поделитесь этим с друзьями или коллегами. Это поможет нам сделать наши бесплатные веб-инструменты лучше.

1) Самый простой способ проверить, правильно ли сформирован адрес электронной почты — использовать функцию filter_var():

Фильтр FILTER_VALIDATE_URL проверяет URL.
Возможные флаги:

  • FILTER_FLAG_SCHEME_REQUIRED — URL должен соответствовать RFC (например https://wtools)
  • FILTER_FLAG_HOST_REQUIRED — URL должен включать имя хоста (например https://wtools.io)
  • FILTER_FLAG_PATH_REQUIRED — URL должен иметь путь после имени домена (например wtools.io/php-snippets/)
  • FILTER_FLAG_QUERY_REQUIRED — URL должен содержать строку запроса (например wtools.io?name=Peter&age=37)

2) Если вы хотите узнать, действительно ли существует URL-адрес (через CURL):

function urlExist($url)else < return true; >> $url = 'https://wtools.io'; if ( urlExist($url) ) $output = "$url - действительный URL"; else $output = "$url не является действительным URL"; echo $output;

3) Проверить через регулярное выражение с http или https:

)?(?:$|[?\/#])/i'; if (preg_match($pattern, $url)) < $output = "$url - действительный URL"; >else < $output = "$url не является действительным URL"; >echo $output;

Источник

Читайте также:  Кнопка поделиться java android
Оцените статью