给论坛开发了添加网址的功能,利用正则表达式过滤网址,并转换成需要的格式。网上搜基本都没法用,没用的还转得到处都是,真是浪费时间。
/(((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/还是挺好用的,可以图形化检测这个表达式是否可用。
在测试中发现,有的时候&符号会被吞掉,这时候在表达式中把”\&”改成”&”再进行一次字符串替换就可以了。