regexp不是我强大的技能之一,所以需要你的帮助,有这个regexp来获取网站源代码的pdf网址
if (preg_match("/http\:\/\/.*?\.pdf/i", $source)) {
大部分时间都可以正常运行,但是当我获得带有链接网址的网站时,例如
http://doc.pdfsomething.com/somemore/name.pdf
我得到匹配http://doc.pdf而不是完整的pdf网址。
任何正则表达的大师,非常感谢你的帮助。
答案 0 :(得分:0)
您可以尝试匹配单词边界
preg_match("/http:\/\/.*?\.pdf\b/i", $source)
意味着.pdf
仅在pdf
后面有非单词字符时才会匹配,例如"
,空格等。
或者,如果你知道URL总是会跟着一个特定字符(双引号"
?),那么你可以使用
preg_match("/http:\/\/.*?\.pdf\"/i", $source)