Добавить текст в начале определенной строки в переполнении стека

Я хотел бы знать, как я могу добавить текст в начале конкретной строки в текстовом файле с использованием PHP.

Например строки 2 и 4:

Line 1
Line 2
Line 3
Line 4

в

Line 1
Whatever Line 2
Line 3
Whatever Line 4

Редактировать: содержание каждой строки постоянно меняется, поэтому я не могу использовать замену или поиск определенного слова.

Спасибо 🙂

0

Решение

Получить содержимое файла с каждой строкой в ​​качестве индекса возвращаемого массива, используя file():

$lines = file('path/to/your/file');

Затем вы можете делать все, что вам нужно, используя правильный индекс строки:

// prepend content to line 2:
$abc = 'abc' . $lines[1];
// append content to line 4:
$xyz = $lines[3] . 'xyz';

Весь процесс (получить содержимое, обновить их, а затем заменить исходный файл):

$file = 'yourfile.txt';
$lines = file($file);
$lines[1] = 'xxx' . $lines[1]; // prepend content to line 2.
$lines[3] = 'yyy' . $lines[3]; // prepend content to line 4.
file_put_contents($file, implode('', $lines));"
1

Другие решения

Если вы хотите добавить каждую вторую строку, используйте этот код

$n = 0;
for ($i = 1; $i <= 10; $i++) {
if($n % 2 == 1) {
echo "Whatever Line: ".$i."<br>";
} else {
echo "Line ".$i."<br>";
} $n++;
}

но если вы хотите добавить только вторую и четвертую строку, используйте этот код.

 for ($i = 1; $i <= 10; $i++) {
if(($i == 2) or ( $i == 4)){
echo "Whatever Line: ".$i."<br>";
} else {
echo "Line ".$i."<br>";
}
}
0

По вопросам рекламы [email protected]