我正在尝试使用 preg_replace 为大型文本文件开发批量查找和替换。我以前没有这样做过,但我想我基本上了解了这个过程。我可以直接将 x 替换为 y。(下面数组中的数字 0 和 2 工作正常。)但我不知道如何进行插入以保留匹配的文本。我知道这应该很简单,并且我试图模仿一堆例子。
当我运行下面的代码时,这句话变成了“夜城的兔子街门”。但我正试图将“Mabbot”变成“MabbotRabbit”。我怎样才能将“Mabbot”保持在原位?
谢谢!
<?php
$content = "The Mabbot street entrance of nighttown";
$patterns = array();
$patterns[0] = '/\n/';
$patterns[1] = '/Mabbot/';
$patterns[2] = '/entrance/';
$replacements = array();
$replacements[0] = '<br/>';
$replacements[1] = '$1Rabbit';
$replacements[2] = 'mentrance';
ksort($patterns);
ksort($replacements);
echo preg_replace($patterns, $replacements, $content);
?>