Как найти и заменить строку в файле PHP?
Вставляем код в php-документ.
$yourfile = "index.php"; // можно любой файл, будь txt или htaccess $oldstr = "Старый текст"; $newstr = "Новый текст"; $file = file($yourfile); if (is_array($file)) { foreach($file as $key => $value) { $file[$key]= preg_replace($oldstr, $newstr, $value); } } else { exit ("Ошибка"); } $fp = fopen($file, "w+"); // перезаписываем независимо от длины новой строки fwrite($fp,implode("",$file)); fclose($fp); echo "Строка успешно заменена";
В результате все совпадения содержимого переменной $oldstr в тексте файла $yourfile будет заменяться текстом из переменной $newstr, то есть все упоминания Старый текст заменятся на Новый текст. Всё достаточно просто! Если нужно обновлённую строку записать с новой строки, то не забываем \n в начале содержимого переменной:
$newstr = "\nСтала другая строка";
Можно также использовать функцию str_replace, однако preg_replace будет быстрее.
Спасибо за внимание!
Комментарии