После использования file_get_contents
для записи в файл html мне нужно удалить определенные части содержимого этого файла, потому что пути к css и изображениям изменились.
Итак, у меня есть строки, как показано ниже:
<link href="/Elements/css/main.css" rel="stylesheet" type="text/css">
<image src="/Elements/images/image1.gif" />
Я хотел бы удалить часть: '/ Elements /' из этих двух и других строк, чтобы у меня были правильные пути.
2 ответа
Я сделал это один раз для редактирования файлов зоны BIND. Лучшее решение - прочитать файл в большом массиве, найти строки, которые нужно удалить. Отмените установку или отредактируйте эти строки и верните массив в файл.
Вот как вы читаете файл в массив:
$html = file("something.html");
Найдите нужную строку так:
foreach($html as $key => $line)
{
$html[$key] = str_replace("/Elements/", "", $line);
}
Затем запишите все обратно в файл
$fp=fopen("something.html","w+");
foreach($html as $key => $value)
{
fwrite($fp,$value."\t");
}
Если вы знаете регулярные выражения, вы также можете изучить это (это то, что я использовал). Затем используйте preg_replace.
Удачи
А в чем именно твоя проблема? Просто используйте str_replace или preg_replace (используйте последнее, только если вам нужны регулярные выражения, т. е. если это не простой поиск & replace) в строке, полученной из file_get_contents, и сохраните ее обратно на диск.
То есть .
$text = file_get_contents("yourfile.html");
$text = str_replace("/Elements/", "", $text);
file_put_contents("yourfile.html", $text);
str_replace("/Elements/css/main.css", "/css/main.css", $html);
для предотвращения случайного удаления в других папках. Или передайте массивы.
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.