php读取文本文件解决思路
时间:2021-07-01 10:21:17
帮助过:18人阅读
php 读取文本文件
用fopen打开后,一行行读,#和@开头的过滤掉,当有
或(标签开始时开始读)读里面的三个属性,再遇下一个标签或或后,就把前三个作为数组拿出来,也就是把每个标签中间的读完是三个元素的数组拿出来处理,读完为止.
这样的方法怎么写呀?
#vision1.1
@fileid=0010
name=xx
id=0
orth=zzz
name=xx
id=801
orth=/btf/sub.txt
name=xx
id=101
orth=/bbs/test.txt
------解决方案--------------------前两行的#和@过滤好处理,从
开始:
当找到时,用变量一次性记录下 $firstNode="";处理下使$firstNode="";
然后一行行处理判断当前行如果=$firstNode,
则读到此为止...
此是间的内容全部取出.
至于<>....>正则处理..
------解决方案--------------------
PHP code
$fn = 'data2.txt';
$fp = fopen($fn, 'r');
$s = '';
while($buf = fgets($fp)) {
if(in_array($buf{0}, array('#', '@'))) continue;
if($buf{0} == '<') {
if($s) {
parse_str($s, $t);
$r[] = $t;
$s = '';
}
continue;
}
$s .= ($s ? '&' : '') . $buf;
}
fclose($fp);
print_r($r);
------解决方案--------------------
唠叨老大出手,你就可以解帖了,应该。