我正在寻找 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”但还没有运气的网址。
谢谢。
我正在寻找 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”但还没有运气的网址。
谢谢。
这应该适合您的需求(演示):
href="(?:(?<!images).(?!(?:[.]pdf|/)"))*?"
(?:)
= 非捕获组(?<!images).
= 任何前面没有的字符images
.(?!(?:[.]pdf|/)")
.pdf"
= 任何不跟也不跟的字符/"
*?
=匹配尽可能短我找到了一种方法来排除具有 .pdf 的链接,方法是修改另一个问题提供的答案。仍在研究为什么它与图像示例不匹配。
href=(['"])[^\s]+(?<![\/]|.pdf)\1