濮阳杆衣贸易有限公司

主頁 > 網(wǎng)站建設(shè) > 建站知識(shí) > 在織夢(mèng)cms中使用繁體轉(zhuǎn)簡體的函數(shù)BIG5ToGB來替換字

在織夢(mèng)cms中使用繁體轉(zhuǎn)簡體的函數(shù)BIG5ToGB來替換字

POST TIME:2019-05-22 23:55

在采集數(shù)據(jù)的時(shí)候,發(fā)現(xiàn)如果采集對(duì)象中存在繁體字,無論是采集還是后臺(tái)編輯添加,都無法完成,相關(guān)字符串都會(huì)在繁體字出被自動(dòng)截?cái)?,有點(diǎn)惹人惱。
更煩惱的是調(diào)用:charset.helper.php,中的函數(shù)big52gb,竟然無法轉(zhuǎn)換,不知道是big5-gb.dat庫(這個(gè)庫,打開后很亂)的問題,還是big52gb函數(shù)的問題,反正是無法實(shí)現(xiàn)替換功能。
如果你也遇到了這個(gè)問題,那么,就繼續(xù)往下看:

為了解決這個(gè)問題,我們新寫個(gè)簡單的轉(zhuǎn)換函數(shù),以及一個(gè)簡單的簡體繁體字符庫:

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);
//新增過濾后判斷,解決遇到漢字與字母混排替換出錯(cuò)問題
$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,是存放簡體字和繁體字的對(duì)照表,格式如下:

“ 賊$賊$$亂$亂$$師$師$$個(gè)$個(gè) ”

字符串長度隨意,只要是你需要替換的,你都可以加進(jìn)來[ 如果您要現(xiàn)成的very68.com.big5.gb.dat字庫,就請(qǐng)?jiān)谠脑u(píng)論處留下郵箱,24小時(shí)內(nèi)發(fā)給您 ]。

追加說明:繁體字庫,昨天抽了半天時(shí)間終于編輯完畢,有需要的兄弟姐妹請(qǐng)留下您的郵箱即可!
2013/08/08日修正,解決替換部分字母與漢字混排時(shí)替換出錯(cuò)問題!
再次聲明:本函數(shù)主要是解決字符串部分替換的問題,真要用于全文替換,請(qǐng)您留言,俺再給你找解決方案。

舉個(gè)應(yīng)用實(shí)例吧:

假如說您copy的文章中既含有繁體字,又含有簡體字,那么要轉(zhuǎn)換為簡體的話,那么就可以稍微修改下article_add.php,

找到:

//處理body字段自動(dòng)摘要、自動(dòng)提取縮略圖等
$body = AnalyseHtmlBody($body,$description,$litpic,$keywords,’htmltext’);

修改為:

//處理body字段自動(dòng)摘要、自動(dòng)提取縮略圖等
$body = BIG5ToGB($body); //就是增加了一句過濾而已
$body = AnalyseHtmlBody($body,$description,$litpic,$keywords,’htmltext’);



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
乌鲁木齐县| 新邵县| 朝阳市| 桂平市| 舟曲县| 张家港市| 绥滨县| 泸州市| 工布江达县| 旺苍县| 亚东县| 太仓市| 浮山县| 鹿泉市| 镇安县| 保康县| 涿州市| 诸城市| 玉门市| 开封市| 岑溪市| 贺兰县| 宁河县| 冀州市| 镇江市| 炉霍县| 镇沅| 登封市| 巢湖市| 蓬安县| 凤凰县| 黄龙县| 栖霞市| 望江县| 桦南县| 翼城县| 顺义区| 洞口县| 临夏县| 嘉禾县| 武定县|