jka*_*zer 4 php regex amazon short-url
这里有一个我得到的正则表达式:一个我无法链接的博客,因为我是新的...只是谷歌亚马逊短网址并点击诺亚科德的博客文章
正如你从这个页面看到的...它应该从任何亚马逊网址中提取唯一的产品ID,这样你就可以缩短它...或者用它来从亚马逊apis中提取信息.
这是我试图使用它来运行的示例代码:
<?php
$example_url = 'http://www.amazon.com/dp/1430219483/?tag=codinghorror-20';
$reg = '(?:http://(?:www\.){0,1}amazon\.com(?:/.*){0,1}(?:/dp/|/gp/product/))(.*?)(?:/.*|$)';
echo 'test<br/>';
echo preg_match($reg,$example_url);
?>
Run Code Online (Sandbox Code Playgroud)
这是我的输出:
test
Warning: preg_match() [function.preg-match]: Unknown modifier '(' in /Users/apple/Sites/amazon/asin_extract.php on line 14
Run Code Online (Sandbox Code Playgroud)
非常感谢!这是我第一次在这个网站上发帖,我已经找到了无数的答案
在第二方面...收回我对这个痛苦的第一次提交过程的一些感谢...我不得不修改这个问题因为它认为我的正则表达式模式是网址
Pas*_*TIN 12
你的正则表达式可能需要分隔符:一个将出现在它的开头和结尾的字符.
这篇关于PHP手册的评论很感兴趣,关于这个:-)
" /"被经常使用; 但有些人更喜欢' #' - 第二个对URL很好
所以:
$reg = '#(?:http://(?:www\.){0,1}amazon\.com(?:/.*){0,1}(?:/dp/|/gp/product/))(.*?)(?:/.*|$)#';
Run Code Online (Sandbox Code Playgroud)
并且,使用完整代码,稍微修改以捕获结果:
$example_url = 'http://www.amazon.com/Professional-Visual-Studio-System-Programmer/dp/0764584367/ref=sr_1_1/104-4732806-7470339?ie=UTF8&s=books&qid=1179873697&sr=8-1';
$reg = '#(?:http://(?:www\.){0,1}amazon\.com(?:/.*){0,1}(?:/dp/|/gp/product/))(.*?)(?:/.*|$)#';
echo 'test<br/>';
$matches = array();
echo preg_match($reg,$example_url, $matches);
var_dump($matches);
Run Code Online (Sandbox Code Playgroud)
你得到的输出var_dump是:
array
0 => string 'http://www.amazon.com/Professional-Visual-Studio-System-Programmer/dp/0764584367/ref=sr_1_1/104-4732806-7470339?ie=UTF8&s=books&qid=1179873697&sr=8-1' (length=149)
1 => string '0764584367' (length=10)
Run Code Online (Sandbox Code Playgroud)
而$matches[1]为0764584367.
| 归档时间: |
|
| 查看次数: |
2521 次 |
| 最近记录: |