发布网友 发布时间:2022-04-06 05:14
共3个回答
热心网友 时间:2022-04-06 06:43
我用一位数组写个实例,看懂了再自己去改:
//数组
$info = array(
'id' => '1',
'content' => '你好',
'en_content' => 'welcome'
);
//循环对比
foreach($info as $key => $value){
if ( ereg('['.chr(0xa1).'-'.chr(0xff).']', $value) ){ //判断是不是纯中文,是为 true
//是纯中文时,去相应的语言包中做对比,查找当前的中文 $value 对应的英文是什么,并把找到的英文替换掉当前这个中文
$info[$key] = '匹配成功后的英文';
}elseif ( ereg('[a-zA-Z]', $value) ){ //判断是不是纯英文,是为true
//是纯英文时,去相应的语言包中做对比,查找当前的英文 $value 对应的中文是什么,并把找到的中文替换掉当前这个英文
$info[$key] = '匹配成功后的中文';
}else{
// echo '既不是纯中文,也不是纯英文,可能有数字混在其中,或者是id 值';
}
}
return $info; //最后直接返回$info 即为中英文互换后的数组
热心网友 时间:2022-04-06 08:01
在新闻的Model里做处理 _after_select和_after_find 检测当前的语言;
如果是英文,就用en_content代替content 模板中输出都是content。
Model参考代码如下:
protected function _after_select(&$result,$option=''){
foreach($result as &$value){
if(LANG_SET == 'en-us'){
$value['content'] = $value['en_content'];
热心网友 时间:2022-04-06 09:36
一般的话会设置一个session['lang']保存当前的语言类型!所有的操作根据这个session['lang']中的类型进行操作或者调用标准!