一个可以找出源代码中所有中文的工具_php教程-查字典教程网
一个可以找出源代码中所有中文的工具
一个可以找出源代码中所有中文的工具
发布时间:2016-12-29 来源:查字典编辑
摘要:一个可以找出源代码中所有中文的工具填写需要查找的路径$sf即可。功能1找出所有中文2忽略注释语句中的中文3可添加需要忽略的文件和文件夹4生成...

一个可以找出源代码中所有中文的工具

填写需要查找的路径$sf即可。

功能

1找出所有中文

2忽略注释语句中的中文

3可添加需要忽略的文件和文件夹

4生成日志文件

如果您正发愁为自己的软件更新语言包

请使用此工具。

我的例子:

http://127.0.0.1/tools/searchcn.php

http://127.0.0.1/tools/cnlog.txt

复制代码 代码如下:

<?php

set_time_limit(0);

ob_implicit_flush();

//注释格式

$remark=array(

array('//debug',"rn")

,array('/**','*/')

,array('/*debug','*/')

,array('/*note','*/')

,array('//note',"rn")

);

//以下目录和文件不被查询

$filter='forumdata|config.inc.php|debug|test|readme|utilities|upgrade|.tpl.php|index.htm|.lang.php';

//项目目录

$sf='d:datalabsdevelopdzhead';

//日志目录

$logname='cnlog.txt';

$langfile='lang.php';

$log=fopen($logname,'w');

fclose($log);

$lf=fopen($langfile,'wb');

fwrite($lf,"rnrnt'spilt'=>'----------------------------------------------------',");

fclose($lf);

$lf=fopen($langfile,'ab');

$ptag='';

findfile($sf);

fwrite($lf,"rn);rnrn?>");

fclose($lf);

functionfindfile($sf){

global$ptag,$logname,$filter,$lf;

$log=fopen($logname,'ab');

global$remark;

if(is_dir($sf)){

if($dh=opendir($sf)){

while(($file=readdir($dh))!==false){

if($file=='.'||$file=='..'){

continue;

}elseif(filetype($sf.$file)=='dir'){

findfile($sf.$file.$ptag);

}elseif((preg_match('/.php$/',$file)||preg_match('/.htm$/',$file))&&!preg_match('/('.$filter.')/',$sf.$file)){

$sfp=fopen($sf.$file,'rb');

$buf=fread($sfp,filesize($sf.$file));

fclose($sfp);

foreach($remarkas$v){

$data='';

while(count($strcut=explode($v[0],$buf,2))>1){

$data.=$strcut[0];

if(($strcut=explode($v[1],$strcut[1],2))>1){

$buf=$strcut[1];

}else{

$buf=$strcut[0];

break;

}

}

$data.=$strcut[0];

$buf=$data;

}

$data=$buf;

$lines=0;

$cn=$str='';

$cns=0;

$ldata="rnt'".str_replace('.','_',$file)."'=>'";

for($i=0;$i<strlen($data);$i++){

$c=ord($data{$i});

if($c==0x0A||$data{$i+1}==''){

$lines++;

if(!empty($cn)){

$ldata.="',";

$ldata=str_replace("rnt'".str_replace('.','_',$file)."'=>'',",'',$ldata);

fwrite($lf,$ldata);

$cn="rn$lines:".$cn;

$str.=$cn;

$cn='';

$ldata="rnt'".str_replace('.','_',$file)."'=>'";

}

}elseif($c>=0x81&&$c<=0xFE){

$c=ord($data{++$i});

if($c>=0x40&&$c<=0xFE){

$cn.=$data{$i-1}.$data{$i};

$ldata.=$data{$i-1}.$data{$i};

while(($c=ord($data{++$i}))!=0x3C&&$c!=0x0A&&$c!=0x0D&&$c!=0x27&&$c!=0x3E&&$c!=0x3B&&$c!=0x22&&$c!=0x3D&&$c<0x81){

$space.=chr($c);

}

$i--;

if(ord($data{$i+1})<0x81){

$cns++;

$cn.='$';

$ldata.="',rnt'".str_replace('.','_',$file)."'=>'";

}else{

$cn.=$space;

}

$space='';

}

}

}

if($str!=''){

fwrite($log,"n--".$sf.$file."-----------------------(共$cns处)");

echo"{$sf}$file(共$cns处)<br>";

ob_flush();flush();

$cns=0;

}

fwrite($log,$str);

$str='';

}

}

}

}

fclose($log);

}

?>

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新php教程学习
    热门php教程学习
    编程开发子分类