0

我正在寻找 preg_match_all 模式来查找页面上没有斜杠的所有 URL。

例如:如果我有

a href="/testing/abc/">end with slash

a href="/testing/test/mnl">no ending slash

结果将是#2。解决方案发布在find pattern for url with no end slash

我试图修改提供的模式以排除具有“图像”或“.pdf”但还没有运气的网址。

谢谢。

4

2 回答 2

2

这应该适合您的需求(演示):

href="(?:(?<!images).(?!(?:[.]pdf|/)"))*?"
  • (?:)= 非捕获组
  • (?<!images).= 任何前面没有的字符images
  • .(?!(?:[.]pdf|/)").pdf"= 任何不跟也不跟的字符/"
  • *?=匹配尽可能短
于 2013-03-19T17:03:26.997 回答
1

我找到了一种方法来排除具有 .pdf 的链接,方法是修改另一个问题提供的答案。仍在研究为什么它与图像示例不匹配。

href=(['"])[^\s]+(?<![\/]|.pdf)\1

链接到工作测试http://www.rubular.com/r/jmBVstpGZD

于 2013-03-19T17:01:30.907 回答