最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一個可以找出源代碼中所有中文的工具

 更新時間:2006年10月25日 00:00:00   作者:  
一個可以找出源代碼中所有中文的工具

填寫需要查找的路徑$sf即可。

功能
1 找出所有中文
2 忽略注釋語句中的中文
3 可添加需要忽略的文件和文件夾
4 生成日志文件

如果您正發(fā)愁為自己的軟件更新語言包
請使用此工具。

我的例子:
http://127.0.0.1/tools/searchcn.php
http://127.0.0.1/tools/cnlog.txt
復(fù)制代碼 代碼如下:

<?php
set_time_limit(0);
ob_implicit_flush();

//注釋格式
$remark = array(
    array('//debug', "\r\n")
    , array('/**', '*/')
    , array('/*debug', '*/')
    , array('/*note', '*/')
    , 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);
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 < 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);

}
?>

相關(guān)文章

  • 基于PHP讀取TXT文件向數(shù)據(jù)庫導(dǎo)入海量數(shù)據(jù)的方法

    基于PHP讀取TXT文件向數(shù)據(jù)庫導(dǎo)入海量數(shù)據(jù)的方法

    本篇文章小編為大家介紹,基于PHP讀取TXT文件向數(shù)據(jù)庫導(dǎo)入海量數(shù)據(jù)的方法。需要的朋友參考下
    2013-04-04
  • Swoole擴展的6種模式深入詳解

    Swoole擴展的6種模式深入詳解

    這篇文章主要介紹了Swoole擴展的6種模式深入詳解,6種模式講解的很詳細(xì),有感興趣的同學(xué)可以跟著小編一起來研究下
    2021-03-03
  • php上傳文件常見問題總結(jié)

    php上傳文件常見問題總結(jié)

    這篇文章主要介紹了php上傳文件常見問題總結(jié),基本上經(jīng)常碰到的問題的處理都列了出來,有需要的小伙伴參考下。
    2015-02-02
  • php之Smarty模板使用方法示例詳解

    php之Smarty模板使用方法示例詳解

    這篇文章主要介紹了php之Smarty模板的使用方法,需要的朋友可以參考下
    2014-07-07
  • PHP基于ip2long實現(xiàn)IP轉(zhuǎn)換整形

    PHP基于ip2long實現(xiàn)IP轉(zhuǎn)換整形

    這篇文章主要介紹了PHP基于ip2long實現(xiàn)IP轉(zhuǎn)換整形,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • Laravel登錄失敗次數(shù)限制的實現(xiàn)方法

    Laravel登錄失敗次數(shù)限制的實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于Laravel登錄失敗次數(shù)限制的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Laravel5.5 動態(tài)切換多語言的操作方式

    Laravel5.5 動態(tài)切換多語言的操作方式

    今天小編就為大家分享一篇Laravel5.5 動態(tài)切換多語言的操作方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • 使用 PHPMAILER 發(fā)送郵件實例應(yīng)用

    使用 PHPMAILER 發(fā)送郵件實例應(yīng)用

    以前的mail(),已經(jīng)不在流行,所以放上最近用的實例,留做回憶;需要的朋友可以參考下
    2012-11-11
  • PHP速成大法

    PHP速成大法

    本文主要是簡單而全面的向大家介紹了一下php的相關(guān)知識,php入門非常簡單,稍微有點小基礎(chǔ)的小伙伴們一天就能入門。
    2015-01-01
  • yii2行為的方法如何注入到組件類中詳解

    yii2行為的方法如何注入到組件類中詳解

    這篇文章主要給大家介紹了關(guān)于yii2中行為的方法是如何注入到組件類中去的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08

最新評論

西乌珠穆沁旗| 长治市| 尉犁县| 靖州| 云梦县| 兴业县| 樟树市| 曲阜市| 礼泉县| 阳西县| 桂东县| 灌阳县| 永城市| 合阳县| 福贡县| 申扎县| 右玉县| 沅陵县| 土默特右旗| 陈巴尔虎旗| 湟中县| 固原市| 那曲县| 安新县| 厦门市| 平山县| 榕江县| 勃利县| 达日县| 莲花县| 英吉沙县| 都匀市| 伽师县| 恩施市| 曲阳县| 北宁市| 潮安县| 邵阳县| 富川| 兴海县| 高台县|