使用file_get_contents
写入html文件后,我需要删除此文件内容的某些部分,因为css和图像的路径已更改。
所以我的行如下:
<link href="/Elements/css/main.css" rel="stylesheet" type="text/css">
<image src="/Elements/images/image1.gif" />
我想删除这两行中的'/ Elements /'部分,以及其他部分,以便我有正确的路径。
答案 0 :(得分:3)
你的问题究竟是什么?只需使用str_replace或preg_replace(仅在需要正则表达式时使用后者,即如果它不是简单的搜索和替换),则从file_get_contents获取字符串,并将其保存回磁盘
即
$text = file_get_contents("yourfile.html");
$text = str_replace("/Elements/", "", $text);
file_put_contents("yourfile.html", $text);
答案 1 :(得分: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。
祝你好运