日期:2014-05-17 浏览次数:20876 次
<?php
$file_name="dir.txt";
$fp=fopen($file_name,'r');
while(!feof($fp)) //文件全部要读完
{
$buffer=fgets($fp); //获得一行,不要加长度
if(preg_match('/\s*@/i', $buffer)){// 用正则
echo "This is title<br>";
echo $buffer."<br>";
}else{
echo "This is body<br>";
echo $buffer."<br>";
}
}
fclose($fp); //关闭文件流
?>
------解决方案--------------------
//标题前加个@符号,用这个来分隔,注意 @ 要顶格
$find = 'about'; //要找的标题
$file_name="dir.txt";
$fp=fopen($file_name,'r');
$title = '';
$content = '';
while($buffer = fgets($fp,1024)) //文件不一定要读完
{
if($buffer{0} == '@') { //检查是否为标题
if($title == $find) break; //是要的则退出
$title = trim($buffer, '@'.PHP_EOL); //保存标题
$content = ''; //清空内容
} else $content .= $buffer; //保存内容
}
fclose($fp); //关闭文件流
echo content."<br>";
------解决方案--------------------
如果标题有固定规律的话,读一行,然后检查是不是标题
比如这一行要没有空格 长度少一多少 等等
------解决方案--------------------
帮忙顶下....