How to extract data from URLs using preg_match()?(如何使用preg_Match()从URL中提取数据?)
本文介绍了如何使用preg_Match()从URL中提取数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要从Amazon URL提取ASIN数字(10个字符的字母数字SKU)。URL始终采用以下格式:
http://www.amazon.com/gp/product/ASIN
http://www.amazon.com/gp/product/[text]/ASIN
http://www.amazon.com/o/ASIN
http://www.amazon.com/dp/ASIN
http://www.amazon.com/[text]/dp/ASIN
http://www.amazon.com/[text]/dp/[text]/ASIN
通常在URL中的ASIN号之后有更多的目录和变量。以下是完整的URL示例:
http://www.amazon.com/Google-Nexus-Tablet-7-Inch-Black/dp/B00DVFLJDS/ref=sr_1_1?ie=UTF8&qid=1387937682&sr=8-1&keywords=nexus+7
我认为使用preg_match()
可以做到这一点,但我非常不熟悉正则表达式,不知道如何制定表达式。
这可能与preg_match()
有关吗?如果没有,解决此问题的最佳方法是什么?
更新:
我一直在研读正则表达式,并且能够修改答案,以便在ASIN不在URL字符串的最末尾(很少在URL字符串的末尾)时工作:
#/([A-Za-z0-9]{10})#
我也做了,所以赛前必须有一个前锋劈开。
推荐答案
preg_match('#([A-Za-z0-9]{10})$#', $url, $matches);
简而言之:[A-Za-z0-9]
接受任何字母数字字符,ucase和lcase都允许,{10}
正好需要它10次,$
要求它在字符串的末尾。圆括号(
和)
定义要在第三个$matches
输出变量中返回的部分。最后,它都被2个#
作为正则表达式分隔符包围。
现在开始read every article in the left sidebar of this page,这样您下次就可以自己做了:)
这篇关于如何使用preg_Match()从URL中提取数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何使用preg_Match()从URL中提取数据?
基础教程推荐
猜你喜欢
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 在多维数组中查找最大值 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01