如何读取/忽略php中单行的内容?

时间:2013-09-30 04:14:25

标签: php

我有以下PHP和HTML代码,

      <?PHP

            $filename = 'txt.txt';
        $str = file_get_contents($filename);
          $data = explode("\n", $str);
       $data2 = explode(":", $data[0]);
       $data3 = explode(":", $data[1]);

         $first_name = $data2[1];

        $age = $data3[1];
             ?>

         <html>
        <body>
           name:<input id="abc1" onload="InputValidate1()" value="<?php echo $first_name ?>" >  </input>

          age:<input id="abc" onload="InputValidate()" value="<?php echo $age ?>" >              </input>

        </body>
        </html> 

和文本文件'txt.txt'的内容是:

              name:jon
              age:25

我得到上面的输出, 但我希望在文本文件

中获得与以下内容相同的输出
           -----details-----
             name:jon
            ----cont----
              age:25

即。我想忽略介于两者之间的那些行并只显示有用的内容,如何读取/忽略php中单行的内容?或者有没有其他方法来实现这一目标?

1 个答案:

答案 0 :(得分:0)

你可以使用preg_match来匹配以“ - ”开头的行,并从数组中取消它们。

  <?php

        $filename = 'txt.txt';
    $str = file_get_contents($filename);

    $data = explode("\n", $str);
    foreach ($data as $key => $line) {
        if(preg_match('/^-/', $line)){
            echo "match $line";
            unset($data[$key]);
        }
    }

    $data2 = explode(":", $data[1]);
   $data3 = explode(":", $data[3]);

     $first_name = $data2[1];

    $age = $data3[1];
    ?>
     <html>
    <body>
       name:<input id="abc1" onload="InputValidate1()" value="<?php echo $first_name ?>" >  </input>

      age:<input id="abc" onload="InputValidate()" value="<?php echo $age ?>" >              </input>

    </body>
    </html>