0

我使用 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,...)之间的图像 URL

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

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

如果以 .jpg、.gif 或 .png 结尾,则正确获取所有 url

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

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

一些供应商在其导入时提供了产品照片 url,没有 .jpg 或 .gif 扩展名。他们只是给 fe 这个 url(只是没有文件扩展名的目录 url):

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

所以 grep 的输出应该是http://www.suppliertestcase.com/productphoto/ 我怎样才能获取以 http:// 开头的 url 以及 MULTIFEED_END 文本之前的所有内容?

4

1 回答 1

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

尝试这个。

于 2012-07-14T05:26:35.643 回答