如何验证包含大量查询字符串的url
我有一个汽车站点,我有一个名为保存搜索的功能,它可以保存用户在该站点上进行的搜索,以备将来使用。我所做的是将整个URL保存在数据库中。
但我需要将其验证为有效的URL。它看起来像这样。
http://www.anywebsite.com/cars.php?postcode=CV2+5AS&distance=&make=&min_price=&max_price=&category_type=&body_type=&fuel=&colour=&transmission=&year_of_registration=&mileage=&engine=&doors=&seller=&keywords=&sort=PRICE_LOWEST&referer_url=http%253A%252F%252Flocalhost%252Fselling%252Fcars.php&trader_id=0&case=ADVANCE
谁能为我提供任何关于如何实现它的想法?
我这里有preg_Match。
if (!preg_match('/^https?:(//)?(www.)?([a-zA-Z0-9_%]*).[a-z]{2,4}(.[a-z]{2})?/', $fields[$field_name]))
但它只验证http://www.anywebsite.com之类的URL,而我需要验证上面的整个URL。
我们将非常感谢您的帮助。
URL
您应该没有理由需要手动编写推荐答案验证代码,此问题已解决。
查看php的filter_var()
。
URL验证示例:http://www.w3schools.com/php/filter_validate_url.asp
$url = "http://www.anywebsite.com/cars.php?postcode=CV2+5AS&distance=&make=&min_price=&max_price=&category_type=&body_type=&fuel=&colour=&transmission=&year_of_registration=&mileage=&engine=&doors=&seller=&keywords=&sort=PRICE_LOWEST&referer_url=http%253A%252F%252Flocalhost%252Fselling%252Fcars.php&trader_id=0&case=ADVANCE";
if (!filter_var($url, FILTER_VALIDATE_URL)) {
echo "URL is not valid";
}
else {
echo "URL is valid";
}
相关文章