如何验证包含大量查询字符串的url [英] How to validate a url with lots of querystrings

查看:29
本文介绍了如何验证包含大量查询字符串的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";
}

这篇关于如何验证包含大量查询字符串的url的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆