您的位置:首页 > 编程语言 > PHP开发

【php】读文件找出特定字符

2014-04-03 13:58 423 查看
<?php

function aType($x){
$tmp = ord($x);
if($tmp>=97 && $tmp<=122){
return 0;//
}
if($tmp >=65 && $tmp <=90){
return 1;
}

return 2;

}

$fin=fopen("5M.txt","r");
$end=microtime(true);

//$count=0;
$a=array();
$b='';
$c=0;

while(!feof($fin)){
$tmp=fgetc($fin);

if(trim($tmp)=='')
continue;

$type= aType($tmp);

if(count($a)==0&&$b==''&&$c==0){
if($type==0){
$a[0]=$tmp;
}else{

}
}elseif(count($a)==1&&$b==''&&$c==0){
if($type==0){
$a[0]=$tmp;
$b='';
$c=0;
}else{
$b=$tmp;
$c+=1;

}
}elseif(count($a)==1&&!empty($b)&&$c==1){
if($type==0){
$a[0]=$tmp;
$b='';
$c=0;
}else{
if($tmp==$b)
$c+=1;
else{
$a=array();
$b='';
$c=0;

}

}
}elseif(count($a)==1&&!empty($b)&&$c==2){
if($type==0){
$a[0]=$tmp;
$b='';
$c=0;
}else{
if($tmp==$b)
$c+=1;
else{
$a=array();
$b='';
$c=0;

}

}
}elseif(count($a)==1&&!empty($b)&&$c==3){
if($type==0){
$a[1]=$tmp;
}else{

$a=array();
$b='';
$c=0;

}
}elseif(count($a)==2&&!empty($b)&&$c==3){
if($type==0){
$a=array();
$a[0]=$tmp;
$b='';
$c=0;
}else{

if($tmp==$b)
$c+=1;
else{
array_shift($a);
$b=$tmp;
$c=1;

}

}
}elseif(count($a)==2&&!empty($b)&&$c==4){
if($type==0){
$a=array();
$b='';
$c=0;

}else{

if($tmp==$b)
$c+=1;
else{
$a=array();
$b=$tmp;
$c=1;

}

}
}elseif(count($a)==2&&!empty($b)&&$c==5){
if($type==0){
$a=array();
$b='';
$c=0;
}else{

if($tmp==$b)
$c+=1;
else{
$a=array();
$b=0;
$c=0;

}

}
}elseif(count($a)==2&&!empty($b)&&$c==6){
if($type==0){
$a[2]=$tmp;
array_shift($a);
echo $a[0];
$c=3;
}else{

$a=array();
$b=0;
$c=0;

}
}

}
fclose($fin);

$end_find=microtime(true);
echo "<br/>";
echo "parse file time=";
echo $end_find-$end;
echo "<br/>";

echo "<br/>";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: