Php 在特定行号处替换字符串

Php 在特定行号处替换字符串,php,preg-replace,replace,Php,Preg Replace,Replace,我有一大块文本,我知道一段特定的字符串出现在什么行号。我需要用别的东西来代替它。但是,如何仅在特定行号处替换特定字符串 示例文本: 1: Lorem ipsum dolor sit amet, [[consectetur]] adipiscing elit. Aliquam 2: imperdiet dolor ut urna hendrerit tempus in sit amet nibh. Maecenas 3: est est, imperdiet quis tristique pu

我有一大块文本,我知道一段特定的字符串出现在什么行号。我需要用别的东西来代替它。但是,如何仅在特定行号处替换特定字符串

示例文本:

1: Lorem ipsum dolor sit amet, [[consectetur]] adipiscing elit. Aliquam 
2: imperdiet dolor ut urna hendrerit tempus in sit amet nibh. Maecenas 
3: est est, imperdiet quis tristique pulvinar, convallis et justo. 
4:
5: Duis nulla lacus, [[aliquet]] at ornare nec, ultricies ac erat. Aliquam 
6: dignissim, tellus et pharetra [[rhoncus]], magna nisi scelerisque urna, in 
7: imperdiet [[metus]] orci id risus. 
在这种情况下,我只想将第
1行和第
6行的
[[
字符替换为
--
(两个破折号)


在PHP中有没有一个简单的方法可以做到这一点?

PHP没有紧凑的方法,但是您可以逐行读取文件并替换字符串, 如有需要:

$f = fopen('example.txt', 'r');
for ($i = 1; ($line = fgets($f)) !== false; $i++) {
    if ($i == 1 || $i == 6)
        $line = str_replace('[[', '--', $line);

    echo $line;
}

fclose($f);

使用
sed
;)
sed-e'1s/\[\[/-/'-e'6s/\[\[/-/'example.txt
@OlafDietsche在Windows或共享主机上有多“容易”?@WebnetMobile.com你抓到我了;-)