时间:2021-05-25
一个可以找出源代码中所有中文的工具
填写需要查找的路径$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',"\r\n")
,array('/**','*/')
,array('')
,array('')
,array('//note',"\r\n")
);
//以下目录和文件不被查询
$filter='forumdata|config\.inc\.php|debug|test|readme|utilities|upgrade|\.tpl.php|index\.htm|\.lang.php';
//项目目录
$sf='d:\\data\\labs\\develop\\dzhead\\';
//日志目录
$logname='cnlog.txt';
$langfile='lang.php';
$log=fopen($logname,'w');
fclose($log);
$lf=fopen($langfile,'wb');
fwrite($lf,"\r\n\r\n\t'spilt'=>'----------------------------------------------------',");
fclose($lf);
$lf=fopen($langfile,'ab');
$ptag='\\';
findfile($sf);
fwrite($lf,"\r\n);\r\n\r\n?>");
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="\r\n\t'".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("\r\n\t'".str_replace('.','_',$file)."'=>'',",'',$ldata);
fwrite($lf,$ldata);
$cn="\r\n$lines:".$cn;
$str.=$cn;
$cn='';
$ldata="\r\n\t'".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.="',\r\n\t'".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);
}
?>
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文主要介绍Python中单词字符串的列表(list),找出列表中所有单词中前一个单词首字母和后一个单词尾字母相同,组成最长的单词链方法代码,并且每个单词不能多
用火狐浏览器查看源代码可以迅速找出网页的错误,因为它会把错误的代码漂红,但是他也有一个缺点,就是默认不会自动换行,那么我们如何解决这个问题呢?1、以百度首页为例
本文讲解了使用C#编写物体碰撞的一个源代码,本实例来自一个老外的网站,从源代码就可以看出,编写的很专业,大家可以学一学。usingSystem;usingSys
DW是网站建设的必备工具,它是一个可视化工具,美工可以用他来做页面排版;程序员可以用它来写网站源代码,非常方便。在网站建设的初步阶段,有一个动作就是输入文字,大
工具类代码,取得当前项目中所有java文件总行数,代码行数,注释行数,空白行数复制代码代码如下:importjava.io.BufferedReader;imp