-1 php parameters url preg-replace
编辑:对不起,我的第一篇文章并不是很清楚.好吧,我有文本存储在数据库中,我喜欢处理它,并寻找我网站上的产品的任何链接,并将它们变成一个奇特的链接.下面是2个链接和我当前的exp.第二个链接(Link2)按预期工作并将值21传递给detailsLink()我的问题在于Link1它将值2传递给detailsLink()而不是21.我想完全忽略url,因为detailsLink()会重新创建带有产品评级/ cat等的链接.它也应该适用于http或https链接.
Link1:http://192.168.2.22/dev/details.php? id = 21 Link2:http://192.168.2.22/dev/details.php? id = 21&modules = info# Desc
$s = preg_replace("%(?<![=\]\'\"\w])https?://[^<>\s\'\",]*$ADDRESS\/details\.php\?id=([0-9]+)[^<>\s\'\",]+%ie", "detailsLink(\\1)", $s);
Run Code Online (Sandbox Code Playgroud)
$ ADDRESS的值是192.168.2.22/dev
无需重新发明轮子:
$url="http://192.168.2.22/dev/details.php?id=21&module=info#Desc";
parse_str(parse_url($url,PHP_URL_QUERY), $arr);
print_r($arr);
Run Code Online (Sandbox Code Playgroud)
给你:
Array
(
[id] => 21
[module] => info
)
Run Code Online (Sandbox Code Playgroud)