我正在寻找preg_match_all模式来查找页面上没有尾部斜杠的所有网址。
例如:如果我有
a href="/testing/abc/">end with slash
a href="/testing/test/mnl">no ending slash
结果将是#2。解决方案发布在find pattern for url with no ending slash
我尝试修改提供的模式,以排除包含“图片”或“.pdf”的网址但尚无运气。
感谢。
答案 0 :(得分:2)
这个应该符合您的需求(demo):
href="(?:(?<!images).(?!(?:[.]pdf|/)"))*?"
(?:)
=非捕获组合(?<!images).
=任何不以images
.(?!(?:[.]pdf|/)")
=任何字符未跟.pdf"
或/"
*?
= 匹配尽可能短 答案 1 :(得分:1)
通过修改其他问题提供的答案,我找到了一种排除具有.pdf的链接的方法。 仍在看为什么它不会与图像示例相匹配。
href=(['"])[^\s]+(?<![\/]|.pdf)\1