• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    在织梦cms中使用繁体转简体的函数BIG5ToGB来替换字
    POST TIME:2019-05-22 23:55

    在采集数据的时候,发现如果采集对象中存在繁体字,无论是采集还是后台编辑添加,都无法完成,相关字符串都会在繁体字出被自动截断,有点惹人恼。
    更烦恼的是调用:charset.helper.php,中的函数big52gb,竟然无法转换,不知道是big5-gb.dat库(这个库,打开后很乱)的问题,还是big52gb函数的问题,反正是无法实现替换功能。
    如果你也遇到了这个问题,那么,就继续往下看:

    为了解决这个问题,我们新写个简单的转换函数,以及一个简单的简体繁体字符库:

    function BIG5ToGB($Text)
    {
    $filename = “/very68.com.big5.gb.dat”;
    $fp = fopen($filename, “rb”);
    $BIG5_DATA = fread($fp,filesize($filename));
    fclose($fp);
    $BIG5_STR = explode(‘$$’,$BIG5_DATA);
    //新增过滤后判断,解决遇到汉字与字母混排替换出错问题
    $FilterText = preg_replace(“/-|_|/|[|]|(|)|{|}|./”,”,$Text);
    $FilterText = preg_replace(“/[0-9]|[a-z]/i”,”,$FilterText);
    for($i=0;$i<count($BIG5_STR);$i++)
    {
    $BIG5_iSTR = explode(‘$’,$BIG5_STR[$i]);
    if(strstr($FilterText,$BIG5_iSTR[0]))
    {
    $Text = str_replace($BIG5_iSTR[0],$BIG5_iSTR[1],$Text);
    }
    else
    {continue;}
    }
    return $Text;
    }

    其中需要的简体繁体字字库的文件:very68.com.big5.gb.dat,是存放简体字和繁体字的对照表,格式如下:

    “ 賊$贼$$亂$乱$$師$师$$個$个 ”

    字符串长度随意,只要是你需要替换的,你都可以加进来[ 如果您要现成的very68.com.big5.gb.dat字库,就请在原文评论处留下邮箱,24小时内发给您 ]。

    追加说明:繁体字库,昨天抽了半天时间终于编辑完毕,有需要的兄弟姐妹请留下您的邮箱即可!
    2013/08/08日修正,解决替换部分字母与汉字混排时替换出错问题!
    再次声明:本函数主要是解决字符串部分替换的问题,真要用于全文替换,请您留言,俺再给你找解决方案。

    举个应用实例吧:

    假如说您copy的文章中既含有繁体字,又含有简体字,那么要转换为简体的话,那么就可以稍微修改下article_add.php,

    找到:

    //处理body字段自动摘要、自动提取缩略图等
    $body = AnalyseHtmlBody($body,$description,$litpic,$keywords,’htmltext’);

    修改为:

    //处理body字段自动摘要、自动提取缩略图等
    $body = BIG5ToGB($body); //就是增加了一句过滤而已
    $body = AnalyseHtmlBody($body,$description,$litpic,$keywords,’htmltext’);

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!