我有以下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中单行的内容?或者有没有其他方法来实现这一目标?
答案 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>