我使用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文本之前的所有内容?
答案 0 :(得分:0)
preg_match_all('~(?<=(MULTIFEED_START_\d_))(.+)(?=(MULTIFEED_END_\d_))~',$src,$matches);
试试这个。