时时商务社区

标题: 一个可以找出源代码中所有中文的工具 [打印本页]

作者: qz234    时间: 2018-2-14 09:40

            一个可以找出源代码中所有中文的工具
填写需要查找的路径$sf即可。
功能
1 找出所有中文
2 忽略注释语句中的中文
3 可添加需要忽略的文件和文件夹
4 生成日志文件
如果您正发愁为自己的软件更新语言包
请使用此工具。
我的例子:
http://127.0.0.1/tools/searchcn.php
http://127.0.0.1/tools/cnlog.txt
[U]复制代码[/U] 代码如下:
'----------------------------------------------------',");
fclose($lf);
$lf = fopen($langfile, 'ab');
$ptag = '\\';
findfile($sf);
fwrite($lf, "\r\n);\r\n\r\n?>");
fclose($lf);
function findfile($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($remark as $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  '',", '', $ldata);
                                fwrite($lf, $ldata);
                                $cn = "\r\n$lines:".$cn;
                                $str .= $cn;
                                $cn = '';
                                $ldata = "\r\n\t'".str_replace('.', '_', $file)."' => '";
                            }
                        } elseif($c >= 0x81 && $c = 0x40 && $c  '";
                                } else {
                                    $cn .= $space;
                                }
                                $space = '';
                            }
                        }
                    }
                    if($str != '') {
                        fwrite($log, "\n--".$sf.$file."----------------------- (共 $cns 处)");
                        echo "{$sf}$file (共 $cns 处)
";
                        ob_flush();flush();
                        $cns = 0;     
                    }
                    fwrite($log, $str);
                    $str = '';
                }
            }
        }
    }
    fclose($log);
}
?>
            
            
        




欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2