抓住网址直到特定字词

时间:2012-07-14 03:39:45

标签: preg-match-all

我使用CSV导入工具并进行了一些研究以获取导入结果中的url,因为它具有特定的导入语法。

这是导入文本的示例。

... img src =“MULTIFEED_START_7_http://www.suppliertestcase.com/423_1.jpgMULTIFEED_END_7_”

所以我想抓住文本MULTIFEED_START_7_(可能是6或5,......)和文本MULTIFEED_END_7(也可能是6或5,......)之间的图像网址

经过一些测试后发现它可以正常工作:

preg_match_all('#(http://(。*)。(gif | png | jpg))#i',$ post [0] - > post_content,$ matches);

如果以.jpg,.gif或.png

结尾,则正确获取所有网址

输出为http://www.suppliertestcase.com/423_1.jpg

但是......现在是我的问题。

某些供应商在其导入时提供产品照片网址,但不包含.jpg或.gif扩展名。 他们只给f.e这个url(只是没有文件扩展名的目录url):

img src =“MULTIFEED_START_7_http://www.suppliertestcase.com/productphoto/MULTIFEED_END_7_”

因此grep的输出应为http://www.suppliertestcase.com/productphoto/ 如何从http://开始抓取网址以及MULTIFEED_END文本之前的所有内容?

1 个答案:

答案 0 :(得分:0)

preg_match_all('~(?<=(MULTIFEED_START_\d_))(.+)(?=(MULTIFEED_END_\d_))~',$src,$matches);

试试这个。