php按条件读取txt广本内容,该如何解决

WBOY
풀어 주다: 2016-06-13 13:27:37
원래의
838명이 탐색했습니다.

php按条件读取txt广本内容
我现在有个记事本,内容:
  articles
  The research articles in all journals published by BioPublisher are 'Open Access'. They are immediately and permanently available online without charge. A number of journals require an institutional or a personal subscription to view other content, such as reviews or paper reports. Free trial subscriptions to these journals are available.
  about
  tel:********************** address:*************************************
 我现在就用PHP读取这个记事本,因为这个里有好段,每段前都有一个标题,我现在就想通过前面的标题,读取出不同的内容。


  请高手给出指教。

------解决方案--------------------
逻辑不对,explode之后的数组元素是不包含@的
修改如下:

PHP code
<?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); //关闭文件流
?>
<br><font color="#e78608">------解决方案--------------------</font><br>
//标题前加个@符号,用这个来分隔,注意 @ 要顶格<br><br>
로그인 후 복사
PHP code
$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>";
<br><font color="#e78608">------解决方案--------------------</font><br>如果标题有固定规律的话,读一行,然后检查是不是标题<br><br>比如这一行要没有空格 长度少一多少 等等
<br><font color="#e78608">------解决方案--------------------</font><br>帮忙顶下....<br> <div class="clear">
                 
              
              
        
            </div>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿