我需要從亞馬遜網址中提取ASIN號碼(10個字符的字母數字SKU)。該網址總是在這些格式:如何使用preg_match()從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()
有關嗎?如果不是,解決這個問題的最好方法是什麼?
UPDATE:
我已經在正則表達式閱讀起來,並能修改答案時的工作ASIN是不是在URL字符串(而事實上並非如此)的末尾:
#\/([A-Za-z0-9]{10})#
我也做到了,所以在比賽前必須有一個正斜槓。
可以用'preg_match()'做。現在拿一些文章,只是學習如何做到這一點。 – zerkms
是的,這是可能的,應該不會那麼困難,因爲您只搜索一個不同的組。但是你仍然必須自己研究這一點 - 當你爲一次具體的嘗試而鬥爭時,隨時再問一次 – kero
正如@zerkms指出的那樣,這是可能的。預計你至少會在尋求幫助之前進行嘗試。 –