正则表达式匹配网址url

论坛开发了添加网址的功能,利用正则表达式过滤网址,并转换成需要的格式。网上搜基本都没法用,没用的还转得到处都是,真是浪费时间。

/(((http|https)\:\/\/)?[a-zA-Z0-9\.\/\?\:@\-_=#]+\.([a-zA-Z0-9\%\&\.\/\?\:@\-_=#])*)/

以https://wp.whiteverse.com/wp-admin/post.php?post=1150为例。

转换成数组之后,分组如下:

(
    [0] => https://wp.whiteverse.com/wp-admin/post.php?post=1150
    [1] => https://wp.whiteverse.com/wp-admin/post.php?post=1150
    [2] => https://
    [3] => https
    [4] => 0
)

https://regex-vis.com/还是挺好用的,可以图形化检测这个表达式是否可用。

在测试中发现,有的时候&符号会被吞掉,这时候在表达式中把”\&”改成”&”再进行一次字符串替换就可以了。

发布者

发表评论