时间:2021-07-01 10:21:17 帮助过:14人阅读
(http\://)?([a-z0-9_-]+\.)+(com|net|cn|org){1}(\/[a-z0-9_-]+)*\.?(?!jpg|jpeg|gif|png|bmp)
一般url后面都有其他不相关字符,建议你利用这个字符
例如:
"http://www.abc.com/images/logo.gif"
...前略(?!:jpg|jpeg|gif|png|bmp) (?:")
刚才没有测试环境,随意写的,想想有点问题,找了个环境重新写了一个
$s='http://www.abc.com/image/index.php"http://www.abc.com/images/logo.gif"';
preg_match_all('#/[^/]*(?<=\....(? var_export($m);
大致吧,你自己理解一下再修改来用
这里\....匹配圆点和三字符的扩展名,没有圆点扩展名或者不是三个字符的情况自己摸索吧
刚才没有测试环境,随意写的,想想有点问题,找了个环境重新写了一个
$s='http://www.abc.com/image/index.php"http://www.abc.com/images/logo.gif"';
preg_match_all('#/[^/]*(?<=\....(? var_exp……
嗯,有道理,html的图片都是带有标签的,不过还有一种情况就是bbcode的代码,还好也是带有标签的,能不能帮我写这个完整的表达式?我下面举例给你看看,
[img=88,31]http://www.discuz.net/images/logo.gif[/img]
晕,不能编辑帖子,上面第一行代码其实也是bbcode来的,就是第二行没有 =88,31 这段,论坛把它转成html了
其实你是想要匹配超链接地址,前面加上href就好匹配了。
(?i)(?:https?|ftp)://[-a-z\d.]+/?(?!/)([-a-z\d+&@#%=~_|!:,.;]+/)*(?#去掉图片的URl)(?![-a-z\d+&@#%=~_!,.;].*?\.(?:jpg|jpeg|gif|png|bmp))[-a-z\d+&@#%=~_!,.;]*(?:\?[a-z\d+&@#/%=~_|!:,.;]*)?