字符串的一部分,我有一个字符串,它看起来有点像这样:的preg_replace可变
$string = 'var1=foo&var2=bar&var3=blahblahblah&etc=etc';
,我想提出从另一个字符串,并用值来替换它,所以例如,它看起来像这样
$newstring = 'var1=foo&var2=bar&var3=$myVariable&etc=etc';
所以VAR3在新的字符串将是$myVariable
值。
这是如何实现的?
字符串的一部分,我有一个字符串,它看起来有点像这样:的preg_replace可变
$string = 'var1=foo&var2=bar&var3=blahblahblah&etc=etc';
,我想提出从另一个字符串,并用值来替换它,所以例如,它看起来像这样
$newstring = 'var1=foo&var2=bar&var3=$myVariable&etc=etc';
所以VAR3在新的字符串将是$myVariable
值。
这是如何实现的?
您可以使用方法preg_replace
。这里来一个例子
<?php
$string = 'var1=foo&var2=bar&var3=blahblahblah&etc=etc';
$var = 'foo';
echo preg_replace('/var3=(.*)&/', 'var3=' . $var . '&', $string);
不需要正则表达式;内置的URL功能应该更可靠地工作。
// Parse the url first
$url = parse_url($string);
// Parse your query string into an array
parse_str($url['query'], $qs);
// Replace the var3 key with your variable
$qs['var3'] = $myVariable;
// Convert the array back into a query string
$url['query'] = http_build_query($qs);
// Convert the $url array back into a URL
$newstring = http_build_url($url);
结账http_build_query
和parse_str
。这将附加一个var3变量,即使没有一个,它将URL编码$myVariable
,并且它比使用preg_replace
更具可读性。
那么,我的字符串中实际上有一个URL; http://example.com/page?var1=foo&var2=bar&var3=$myVariable&etc=etc – user1687621 2013-02-25 02:17:36
@ user1687621看到我的更新,*应*工作。 – 2013-02-25 02:23:05