PHP 正则表达式如何添加URL参数 ,并把&替换成amp;

<go href="wap_login.php" method="post" accept-charset="utf-8">
<postfield name="a" value="login"/>
<postfield name="user" value="$(user)"/>
<postfield name="pass" value="$(pass)"/>
</go>
</anchor> <a href="reg.php?q=reg">注册</a> </p>

以上代码,想把
wap_login.php变成wap_login.php?sid=123456
reg.php?q=reg变成reg.php?q=regamp;sid=123456
我的意思是有一个网页源码,寻找这个网页源码里的所有href,然后分别为他们添加上sid参数。返回处理好后的网页源码

第1个回答  2011-12-31
preg_replace('/(&|\\?)pagesize=[^&]+/', '', $_SERVER['REQUEST_URI']) str_replace 或replace 或preg_replace 用正则是比较笨的办法追问

这个代码运行了,不会替换啊,你教我下,等下我加分

我是想把上面的源码变成这样,不是当前页面的url变成这样

你没有看懂的我意思,我的意思是有一个网页源码,寻找这个网页源码里的所有href,然后分别为他们添加上sid参数。返回处理好后的网页源码

我加分了

第2个回答  推荐于2016-07-23
<?php
$content="你的网页源码比如<a href=\"login.php\">login</a>";
$res=preg_match_all("/href=\"(.)+?\"/",$content,$arr);
if($res!=0){
foreach($arr[0] as $val)
if(strrchr($val,".php\"")==".php\""){
$new = str_replace(".php",".php?sid=123456",$val);
}
else if(strrchr($val,".php?q=reg\"")==".php?q=reg\""){
$new = str_replace(".php?q=reg",".php?q=reg&sid=123456",$val);
}
$content=str_replace($val,$new,$content);
}
echo $content;

?>追问

我的网页源码是随机的,不是固定后面跟的是q=reg

求助:如何用正则表达式匹配到
href="中间的内容"

中间的内容要排除不含?号的。

然后再写一条

中间的内容要排除含?号的

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网