我需要删除以</div></div></div>
开头的部分文本以及临时目录中每个文件中的所有内容。
文字结构基本相同:
<!DOCTYPE html>
<head>
blah blah lots of text....
</div></div></div>
blah blah lots of text....
</div>
</html>
我做了什么:
$files = scandir(__DIR__ . "/temp/");
$files = array_diff($files, array('.', '..'));
foreach($files as $file) {
$text_file = file_get_contents(__DIR__ . "/temp/".$file);
foreach($text_file as $txfile) {
$txfile = strstr($txfile, '</div></div></div>', true);
echo $txfile;
}
}
Warning: Invalid argument supplied for foreach()
并尝试这种方式
$files = scandir(__DIR__ . "/temp/");
$files = array_diff($files, array('.', '..'));
foreach($files as $file) {
$text_file = file_get_contents(__DIR__ . "/temp/".$file);
for($i=0;$i<count($text_file);$i++)
{
$text_file = strstr($text_file[$i], '</div></div></div>', true);
echo $text_file;
}
}
甚至尝试使用strstr
的{{1}}个文件,但仍然没有结果。
答案 0 :(得分:1)
在$text_file = file_get_contents(__DIR__ . "/temp/".$file);
中,$text_file
将是string
而不是array
,因此使用foreach
会引发错误。
你可以尝试
foreach($files as $file) {
$text_file = file_get_contents(__DIR__ . "/temp/".$file);
$txfile = strstr($text_file, '</div></div></div>', true);
echo $txfile;
}