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

<gohref="wap_login.php"method="post"accept-charset="utf-8"><postfieldname="a"value="l... <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参数。返回处理好后的网页源码
展开
 我来答
whisky96
2011-12-31 · 超过16用户采纳过TA的回答
知道答主
回答量:215
采纳率:0%
帮助的人:151万
展开全部
preg_replace('/(&|\\?)pagesize=[^&]+/', '', $_SERVER['REQUEST_URI']) str_replace 或replace 或preg_replace 用正则是比较笨的办法
追问
这个代码运行了,不会替换啊,你教我下,等下我加分

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

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

我加分了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天色无双
推荐于2016-07-23 · TA获得超过394个赞
知道小有建树答主
回答量:304
采纳率:0%
帮助的人:261万
展开全部
<?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="中间的内容"

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

然后再写一条

中间的内容要排除含?号的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式