0

我在 RegEx 方面不是最好的......我有一些 PHP 代码:

$pattern = '/activeAds = \[(.*?)\]/si';
$modData = preg_replace($pattern,'TEST',$data);

所以我有一个 JavaScript 文件,它声明和数组:

var activeAds = [];

我需要这个来用我的字符串填充数组,或者如果数组里面已经有一个字符串,我想用我的字符串替换它(在本例中为“TEST”)。

现在,我的正则表达式正在替换所有内容,包括我的开始和结束,我只需要替换中间的内容。

我剩下:

var TEST;

TIA

4

2 回答 2

2

您可以捕获要替换的部分之前和之后的内容:

$pattern = '/(activeAds = \[).*?(\])/si';

捕获这些部分后,您可以保留它们并替换中间的部分:

$modData = preg_replace($pattern, '\1TEST\2', $data);
于 2012-10-10T17:28:47.350 回答
0

有很多方法可以做到这一点,我的方法如下:

$data    = array("activeAds = testing123");
$pattern = "/activeAds\s?=\s?(.*)/";
$result  = preg_replace($pattern,"activeAds = TEST", $data);
var_dump($result);

编辑:忘了提到\s?这里允许一个可选空间。

于 2012-10-10T17:38:55.243 回答