<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;
?>追问
$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="中间的内容"
中间的内容要排除不含?号的。
然后再写一条
中间的内容要排除含?号的