用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

PHP批量修改静态html文件编码的例子

时间:2015-01-23  来源:西部数据  作者:西部数据

一堆的文件编码都是ANSI的,本来想用linux shell批量修改文件编码,却不太熟悉,写了个PHP脚本批量修改html文件的编码,代码如下:

  1. <?php 
  2.  
  3. //1.遍历出所有html文件 
  4. $dir = './jquery/jquery/'//文件目录、 
  5.  
  6. $move_to = './jquery/jquery_new/'
  7.  
  8. foreach(glob($dir . '*.htm*'as $html
  9.     //读取文件 
  10.     $fp = fopen($html'a+'); 
  11.     $html_string = fread($fpfilesize($html)); 
  12.      
  13.     //转码操作 
  14.     $html_string = str_replace('charset=gb2312''charset=UTF-8'$html_string); 
  15.      
  16.     $file_code = mb_detect_encoding()($html_stringarray('UTF-8','GBK','LATIN1','BIG5')); 
  17.      
  18.     if($file_code = 'CP936'
  19.     { 
  20.         $html_string = mb_convert_encoding($html_string ,'utf-8' , 'gbk'); 
  21.     } 
  22.      
  23.     //获取文件名 
  24.     $slice = explode('/'$html); 
  25.     $file_name = end($slice); 
  26.      
  27.     //移到新文件 
  28.     file_put_contents($move_to . $file_name$html_string); 
  29.      
  30.     fclose($fp); 
  31.  
  32. echo 'ok, 执行完成'

其实主要用到mb_detect_encoding检测编码,使用mb_convert_encoding转换编码,这是mbstring扩展的函数,代码如下:

  1. <?php 
  2.  
  3. /** 
  4.  * 检测编码 
  5.  * string mb_detect_encoding ( string $str [, mixed $encoding_list = mb_detect_order() [, bool $strict = false ]] ) 
  6.  *  
  7.  * @param $str 要检测的字符串 
  8.  * @param $encoding_list 检测编码的顺序 
  9.  * @param $strict 是否严格检测编码 
  10.  */ 
  11.  
  12. $str = 'PHP点点通'
  13. echo $file_code = mb_detect_encoding($strarray('UTF-8','GBK','LATIN1','BIG5')); //UTF-8 
  14.  
  15. /** 
  16.  * 转换编码 
  17.  * string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] ) 
  18.  *  
  19.  * @param $str 要转换的字符串 
  20.  * @param $to_encoding 转换后的字符串 
  21.  * @param $from_encoding  
  22.  */ 
  23.  
  24. echo mb_convert_encoding($str'GBK''UTF-8'); 
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门