thinkphp中$think.get.tag系统模板变量乱码问题
来源:互联网 发布:抓取数据的免费软件 编辑:程序博客网 时间:2024/05/18 02:45
thinkphp中在使用如$think.get.tag系统模板变量时出现乱码,相关原理请看我的另一篇文章《PHP接收GET中文参数乱码深入研究》
/** +---------------------------------------------------------- * 特殊模板变量解析 * 格式 以 $Think. 打头的变量属于特殊模板变量 +---------------------------------------------------------- * @access public +---------------------------------------------------------- * @param string $varStr 变量字符串 +---------------------------------------------------------- * @return string +---------------------------------------------------------- */ public function parseThinkVar($varStr){ $vars = explode('.',$varStr); $vars[1] = strtoupper(trim($vars[1])); $parseStr = ''; if(count($vars)>=3){ $vars[2] = trim($vars[2]); switch($vars[1]){ case 'SERVER': $parseStr = '$_SERVER[\''.strtoupper($vars[2]).'\']';break; case 'GET': $parseStr = 'iconv("gb2312","UTF-8",$_GET[\''.$vars[2].'\'])';break;//问题出现在这里 case 'POST': $parseStr = '$_POST[\''.$vars[2].'\']';break; case 'COOKIE': if(isset($vars[3])) { $parseStr = '$_COOKIE[\''.$vars[2].'\'][\''.$vars[3].'\']'; }else{ $parseStr = '$_COOKIE[\''.$vars[2].'\']'; }break; case 'SESSION': if(isset($vars[3])) { $parseStr = '$_SESSION[\''.$vars[2].'\'][\''.$vars[3].'\']'; }else{ $parseStr = '$_SESSION[\''.$vars[2].'\']'; } break; case 'ENV': $parseStr = '$_ENV[\''.$vars[2].'\']';break; case 'REQUEST': $parseStr = '$_REQUEST[\''.$vars[2].'\']';break; case 'CONST': $parseStr = strtoupper($vars[2]);break; case 'LANG': $parseStr = 'L("'.$vars[2].'")';break;case 'CONFIG': if(isset($vars[3])) { $vars[2] .= '.'.$vars[3]; } $parseStr = 'C("'.$vars[2].'")';break; default:break; } }else if(count($vars)==2){ switch($vars[1]){ case 'NOW': $parseStr = "date('Y-m-d g:i a',time())"; break; case 'VERSION': $parseStr = 'THINK_VERSION'; break; case 'TEMPLATE': $parseStr = 'C("TMPL_FILE_NAME")'; break; case 'LDELIM': $parseStr = 'C("TMPL_L_DELIM")'; break; case 'RDELIM': $parseStr = 'C("TMPL_R_DELIM")'; break; default: if(defined($vars[1])) $parseStr = $vars[1]; } } return $parseStr; }
- thinkphp中$think.get.tag系统模板变量乱码问题
- 简单有效的解决THINKPHP在IIS服务器中出现Think.get.title 中文乱码
- Thinkphp 模板->系统变量输出
- thinkphp:模板中使用的系统变量和常量
- thinkphp模板中变量输出
- ThinkPHP 3.2.3 Smarty模版引擎 调用$Think系统变量
- thinkPHP中{$Think }用法
- thinkphp控制器变量在模板中显示
- Thinkphp中使用smarty模板引擎时在U函数中使用变量的问题
- Thinkphp 模板变量输出
- ThinkPHP 模板变量输出
- Thinkphp 模板->变量输出
- 解决ThinkPHP中以Get方式提交中文字符乱码
- Smarty模板php配置变量乱码问题
- THINKPHP_模版系统变量$Think
- 关于thinkphp模板引擎中变量输入的思考
- thinkphp模板中判断变量是否为空
- thinkphp 系统变量
- 混沌IN C++::所谓的隐晦
- jquery ui dialog
- linux下如何统计一个目录下的文件个数以及代码总行数的命令
- 寂寞清秋怎敌寒
- 有网了!!!!!!!!!!!!!
- thinkphp中$think.get.tag系统模板变量乱码问题
- 5、按行读取文件中的内容,并输出长度最大的行
- 工作札记(一)
- 进制转换
- struts2 hibernate spring 所必需的包
- Redis SNAPSHOT的实现
- 实战android手机telnet、ftp登陆,权限修改
- 双向供给的教育,全面的战略眼光
- Date Difference