Php проверить строку в url

How to Check If String is URL or Not in PHP?

Now, let’s see post of how to check string is url or not in php. This post will give you a simple example of how to check if string is url in php. if you want to see an example of check if string is url php then you are in the right place. you can understand a concept of check value is url or not.

In PHP, you can check if a string is a valid URL or not by using the filter_var() function with the FILTER_VALIDATE_URL filter. Here’s an example code snippet:

$url = «https://www.example.com»;

if (filter_var($url, FILTER_VALIDATE_URL) !== false) echo «$url is a valid URL»;

> else echo «$url is not a valid URL»;

>

In this example, the filter_var() function checks if the $url variable is a valid URL using the FILTER_VALIDATE_URL filter. If the URL is valid, it will return the URL string, otherwise it will return false.

You can also use regular expressions to check if a string matches the format of a URL, but using the filter_var() function is a more reliable and convenient method.

Hardik Savani

I’m a full-stack developer, entrepreneur and owner of Aatman Infotech. I live in India and I love to write tutorials and tips that can help to other artisan. I am a big fan of PHP, Laravel, Angular, Vue, Node, Javascript, JQuery, Codeigniter and Bootstrap from the early stage. I believe in Hardworking and Consistency.

We are Recommending you

  • PHP MySQL DataTables Server-side Processing Example
  • PHP CKEditor Custom File Upload Example
  • PHP — Getting Started PHPUnit Test Example
  • PHP Bootstrap Autocomplete Tokenfield using Ajax Example
  • PHP Import Excel File into MySQL Database Tutorial
  • PHP Capture Screenshot of Website from URL Example
  • PHP Remove Duplicates from Multidimensional Array Example
  • MySQL Query to Get Current Year Data Example
  • How to Get File Name without Extension in PHP?
  • How to Remove Specific Element by Value from Array in PHP?
  • How to Get Minimum Key Value of Array in PHP?
  • How to access PHP variables in JQuery?
  • How to Get Product using Rakuten Marketing API in PHP?
  • How to Remove Null Values from Array in PHP?

Источник

проверьте, является ли строка URL-адресом

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

Если у нас есть текст, что бы это ни было, я бы хотел проверить, является ли он URL-адресом или нет.

$text = "something.com"; //this is a url if (!IsUrl($text))< echo "No it is not url"; exit; // die well >else < echo "Yes it is url"; // my else codes goes >function IsUrl($url)< // . > 

Есть ли другой способ, а не проверка с помощью JavaScript в случае блокировки JS?

)"; // Host or IP $regex .= "(\:5)?"; // Port $regex .= "(\/([a-z0-9+\$_-]\.?)+)*\/?"; // Path $regex .= "(\?[a-z+&\$_.-][a-z0-9;:@&%=+\/\$_.-]*)?"; // GET Query $regex .= "(#[a-z_.-][a-z0-9+\$_.-]*)?"; // Anchor if(preg_match("/^$regex$/i", $url)) // `i` flag for case-insensitive < return true; >?> 

но ваш примерный URL-адрес упрощен, (\w+)\.(\w+) соответствует ему. кто-то еще упомянул filter_var который является просто filter_var($url, FILTER_VALIDATE_URL) но , похоже, он не похож на символы, отличные от ascii, поэтому будьте осторожны …

Функция filter_var PHP – это то, что вам нужно. Найдите FILTER_VALIDATE_URL . Вы также можете установить flags для точной настройки вашей реализации.
Нет необходимости в регулярном выражении ….

Следующий код работал для меня:

if(filter_var($text, FILTER_VALIDATE_URL)) < echo "Yes it is url"; exit; // die well >else < echo "No it is not url"; // my else codes goes > 

Вы также можете указать соответствие RFC и другие требования к URL-адресу с использованием флагов. См. PHP Validate Filters для получения более подробной информации.

Проверьте, является ли он действительным URL (example.com НЕ является допустимым URL)

 if(!isValidURL($fldbanner_url)) < $errMsg .= "* Please enter valid URL including http://
"; >

Regexes – плохой способ проверить что-то сложное, как URL.

Функция filter_var () PHP предлагает гораздо более надежный способ проверки URL-адресов. Кроме того, это быстрее, так как это собственный код.

Я не думаю, что на это есть окончательный ответ. Пример действительного URL:

localhost http://xxx.xxx.xxx/alkjnsdf abs.com 

Если у вас есть текст. и не большая его часть. Вы можете проверить, выполнив запрос CURL и посмотрите, возвращает ли он действительный ответ. В противном случае, если я ставлю localhost, это может быть ссылка, и это может быть что-то еще, и вы не сможете проверить это.

function isValidUrl($url) < return preg_match("(?i)\b((?:[az][\w-]+:(?:/|[a-z0-9%])|www\d[.]|[a-z0-9.\-]+[.][az]/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]<>;:'\".,<>?«»“”'']))", $url) > 0; > 

( Источник регулярных выражений )

Вы можете использовать следующий шаблон регулярного выражения, чтобы проверить, является ли ваша переменная URL-адресом или нет:

Что-то вроде может сработать для вас:

$arr = array('abc.com/foo', 'localhost', 'abc+def', 'how r u', 'https://how r u', 'ftp://abc.com', 'a.b'); foreach ($arr as $u) < $url = $u; if (!preg_match('#^(?:https?|ftp)://#', $url, $m)) $url = 'http://' . $url; echo "$u =>"; var_dump(filter_var($url, FILTER_VALIDATE_URL)); > 
abc.com/foo => string(18) "http://abc.com/foo" localhost => string(16) "http://localhost" abc+def => string(14) "http://abc+def" how ru => bool(false) https://how ru => bool(false) ftp://abc.com => string(13) "ftp://abc.com" ab => string(10) "http://ab" 

Таким образом, в основном везде, где вы видите false как возвращаемое значение, которое является URL-адресом INVALID для вас.

Источник

«Умная» проверка 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

Я хотел бы знать, есть ли какое-то слово в URL-адресе.

Например, если текстовый автомобиль находится в URL-адресе, например, www.domain.com/car/или www.domain.com/car/audi/, это будет означать, что «автомобиль существует», и если он ничего не повторит, нет автомобилей «.

ОТВЕТЫ

Ответ 1

Попробуйте что-нибудь подобное. Первая строка строит ваш URL-адрес, а остальные проверяют, содержит ли оно слово «автомобиль».

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; if (strpos($url,'car') !== false) < echo 'Car exists.'; >else

Ответ 2

Я думаю, что самый простой способ:

if (strpos($_SERVER['REQUEST_URI'], "car") !== false) < // car found >

Ответ 3

$url = " www.domain.com/car/audi/"; if (strpos($url, "car")!==false) < echo "Car here"; >else

Ответ 4

if( strpos( $url, $word ) !== false ) < // Do something >

Ответ 5

if(strpos($_SERVER['REQUEST_URI'], 'shop.php') !== false)

Ответ 6

strstr тогда не существовало?

if(strstr($_SERVER['REQUEST_URI'], "car"))

Это должен быть один из самых простых методов?

Ответ 7

if(false !== strpos($url,'car')) < echo 'Car exists!'; >else

Ответ 8

Вы можете попробовать метод .htaccess, похожий на концепцию работы WordPress.

Но я не уверен, что это то, что вы ищете именно для того, чтобы сказать..

Ответ 9

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; if (!strpos($url,'car')) < echo 'Car exists.'; >else

Ответ 10

Конечно, это правильный путь.

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; if (!strpos($url,'mysql')) < echo 'No mysql.'; //swapped with other echo statement >else

В противном случае его отчет будет обратным образом.

Ответ 11

Параметры URL и полученные от глобальной переменной $_GET , которая на самом деле является массивом. Итак, чтобы узнать, содержит ли URL-адрес параметр, вы можете использовать функцию isset() .

if (isset($_GET['yourparametername'])) < //The parameter you need is present >

Впоследствии вы можете создать отдельный массив такого параметра, который необходимо прикрепить к URL-адресу.

if(isset($_GET['param1'])) < \\The parameter you need is present $attachList['param1'] = $_GET['param1']; >if(isset($_GET['param2']))

Теперь, чтобы узнать, нужен ли вам символ ? , просто посчитайте этот массив

Чтобы узнать, установлен ли какой-либо параметр, просто оцените $_GET

Ответ 12

if ( stristr( SITE_HOST, 'your site' ) ) < $protocol = ( !empty( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] == 'on' ) ? 'https://' : 'http://'; $request = ( !empty( $_SERVER['HTTP_X_ORIGINAL_REQUEST'] ) ) ? $_SERVER['HTTP_X_ORIGINAL_REQUEST'] : $_SERVER['REQUEST_URI']; echo $protocol .'your site'. $request; >

Ответ 13

Вы можете использовать эту функцию в качестве этого кода, сэр

 if((strpos($_SERVER['REQUEST_URI'],'car') !== false)) echo'

Car Exist

'; else echo'

Not

';

Ответ 14

если вы хотите проверить весь URL-адрес (включая имя домена и любой фрагмент внутри URL-адреса), вам потребуется HTTP_HOST

if (strpos($_SERVER['HTTP_HOST'], "windowsmaximizer.com/de/") !== false) < echo 'i contain windowsmaximizer.com/de/'; >

вывод: у меня есть windowsmaximizer.com/de/

Ответ 15

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; if ( strpbrk($url, 'test') ) < // Do something. >else < // Do another thing >

Источник

Читайте также:  Convert char to int kotlin
Оцените статью