parse_url () , вероятно, хороший выбор здесь. Если вы получите неверный URL, функция вернет false
. В противном случае он разделит URL на части, и вы сможете использовать те, которые вам нужны.
Пример:
$urlParts = parse_url('http://www.youtube.com/watch?v=MX0D4oZwCsA');
if ($urlParts == false) echo "Bad URL";
else echo "Param string is ".$urlParts['query'];
Выходы:
Param string is v=MX0D4oZwCsA
Вы можете разделить часть запроса по необходимости, используя explode () для определенных параметров.
Редактировать : имейте в виду, что parse_url()
старается изо всех сил проанализировать заданную строку, поэтому плохие URL-адреса часто будут успешными, хотя получаемый массив данных будет очень странным. Очевидно, вам решать, насколько точно вы хотите, чтобы ваша проверка была, и что именно вам нужно из вашего пользовательского ввода.