我有以下
$string = 'Trials <- load.dataset("Foo, Bar")';
$pattern[0] = "/(?:load.dataset|\"Foo, Bar?)\"/";
$replacement[0] = '"/my/path/JohnDoe.csv"';
preg_replace($pattern, $replacement, $string);
echo $pattern[0]; // /(?:load.dataset|"Foo, Bar?)"/
echo $replacement[0]; // "/my/path/JohnDoe.csv"
然而,替换看起来不像它正在工作;
echo $string; // Trials <- load.dataset("Foo, Bar")
我用PHP Live Regex测试了我的正则表达式,它在那里工作正常,所以我不确定我在哪里犯了错误。
为什么不进行更换?
答案 0 :(得分:1)
需要将preg_replace
分配给您的变量。
就是这样:
$string = 'Trials <- load.dataset("Foo, Bar")';
$pattern[0] = "/(?:load.dataset|\"Foo, Bar?)\"/";
$replacement[0] = '"/my/path/JohnDoe.csv"';
preg_replace($pattern, $replacement, $string);
即时取代,尝试更新至:
$string = preg_replace($pattern, $replacement, $string);
从手册:
如果找到匹配项,将返回新主题,否则主题将保持不变,如果发生错误,则返回NULL。