0

我有以下 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中单行的内容?还是有其他方法可以实现这一目标?

4

1 回答 1

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> 
于 2013-09-30T04:38:38.013 回答