正则修改 url 参数值

2016-12-01 10:06:31 +08:00
 sunhk25
有 url=> /tst/req.php?szID=123&tst=&szPass=s123&szLimit=20&szInf=test
参数都有可能为空,想要改为例如:
/tst/req.php?szID=123A&tst=A&szPass=s123A&szLimit=20A&szInf=testA
想用正则表达式修改参数值,前方参照([\?&][a-zA-Z]+?\=)后,参数值不知如何取
1316 次点击
所在节点    问与答
5 条回复
SilentDepth
2016-12-01 10:19:07 +08:00
/&([a-z]+)(?:=([^&]+)?)?/i
这样?
whahuzhihao
2016-12-01 10:25:02 +08:00
```php
$s = '/tst/req.php?szID=123&tst=&szPass=s123&szLimit=20&szInf=test';
$ss = preg_replace('/([\?&][a-zA-Z]+)([^&]*)/','\1\2A',$s);
```
sunhk25
2016-12-01 10:34:48 +08:00
@whahuzhihao 谢谢,可以的
mooncakejs
2016-12-01 10:44:02 +08:00
php 的话不如 parse_url 何必这么辛苦
sunhk25
2016-12-01 11:07:18 +08:00
@mooncakejs 这个挺方便的,我用的是 c#,查了下有这个函数 ParseQueryString 跟 parse_url 差不多

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/324492

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX