替换某个行号的字符串

时间:2012-11-18 21:03:54

标签: 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 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中是否容易这样做?

1 个答案:

答案 0 :(得分:2)

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);