我有2个变量,定义如下,
$a = abc.php? b=1a1a;
$b = abc.php? b=0;
如何将'1a1a'
变量$a
替换为变量0
的{{1}}。
这意味着变量$b
将为b
并且,有人可以告诉我,如果$b = abc.php ? b=1a1a;
那么我如何获得$a = abc.php? b=1a1a;
,这意味着$c = 1a1a
之后的任何事情。
答案 0 :(得分:0)
试试这个
$a='abc.php?b=1a1a';
$b='abc.php?b=0';
$newstr=substr($a,strpos($a,'=')+1);
$replacestr=substr($b,strpos($b,'=')+1);
$pattern='/('.$replacestr.')/';
echo preg_replace($pattern, $newstr, $b);
注意: - 这将取代$b
中 = 之后的所有内容,以及$a
中 = 之后的所有内容}
更新2 如果我理解你的第二个问题那么我认为你想要这个
$a='abc.php?a=2a2&b=1a1a' ;
$b='abc.php?a=2a2&b=0';
$newstr=substr($a,strripos($a,'=')+1);
$replacestr=substr($b,strripos($b,'=')+1);
$pattern='/('.$replacestr.')/';
echo preg_replace($pattern, $newstr, $b);
此处它会在字符串 $ b 中找到的 LAST = 之后替换所有内容,其中包含 LAST = 之后的所有字符串<强> $ A 强>