【问题标题】:Get image URLs from the text that only contains specific word inside URL string从仅包含 URL 字符串中特定单词的文本中获取图像 URL
【发布时间】:2013-12-19 05:36:23
【问题描述】:

我使用 preg_match_all 从文本字符串中获取所有图像 URL:

preg_match_all('!http://[^?#]+\.(?:jpe?g|png|gif)!Ui', $text , $matches);
  • 很遗憾,这次我只需要获取初始字符串中包含“/bigimage/”的图像。

  • 即 $matches 数组应该只包含像这样的图像元素:

  http://x/x/bigimage/x/x.jpg
  • 如何修改源命令以获得想要的结果?

【问题讨论】:

  • 可以在pattern中添加目录名...http://[^?#]+(/bigimage/)+.*\.(?:jpe?g|png|gif),对REG-Ex熟悉一点的人可能会有更好的解决方案。
  • 告诉..你想准确捕捉什么? **文件名 ?带扩展名的文件名?整个路径?

标签: php parsing url preg-match match


【解决方案1】:

试试

(http://(?:\w+/)*bigimage(?:/\w+)*((/\w).(?:jpe?g|png|gif)))

用于可视化 https://www.debuggex.com/r/22db9byd3cTlIX6f

根据需要更改括号()或捕获组

【讨论】:

    猜你喜欢
    • 2020-12-09
    • 1970-01-01
    • 2023-03-24
    • 2011-10-15
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多