如何使用具有特定结构的php从文本文件中删除一行

时间:2016-12-30 17:03:50

标签: php css file-put-contents

我有一个包含此内容的css文件:

#firstdiv

如何使用php删除所有#seconddiv { width:80%; height:70px; } #thirddiv { width:80%; height:70px; } #seconddiv { color:red; background:green; } css属性?

这是我想要的输出:

foldLeft

1 个答案:

答案 0 :(得分:0)

最简单的方法是根据换行符拆分文件,然后检查每一行是否以您不想要的字符串开头,最后将文件保存到该位置。

$filelocation = "/path/to/file"; //please update for your situation
$csscontents = file_get_contents($filelocation);
$lines = explode(PHP_EOL,$csscontents);
$csscontents = '';
foreach($lines as $line) {
    if (substr($line,0,9) !== "#firstdiv") $csscontents .= $line . PHP_EOL;
}
file_put_contents($filelocation,$csscontents);

如果一行上有多个选择器,则需要执行此操作

$filelocation = "/path/to/file"; //please update for your situation
$csscontents = file_get_contents($filelocation);
$lines = explode('}',$csscontents);
$csscontents = '';
foreach($lines as $line) {
    if (substr(preg_replace('/\s+/', '',$line),0,9) !== "#firstdiv" AND !empty($line) AND !ctype_space($line)) $csscontents .= $line . "}";
}
file_put_contents($filelocation,$csscontents);