аватар Автор: Сергей Касаткин | 03 марта 2013 15:30

Статьи / PHP /

Как найти и заменить строку в файле PHP?

Скорее всего Вы уже сталкивались с проблемой редактирования и считывания содержимого файла в 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 будет быстрее.

Спасибо за внимание!
 



Похожие статьи


Комментарии к статье (vk.com)