我有一些网站是用最古老的CodeIgniter版本在php5上编写的
我有配置:
$config['charset'] = 'windows-1251';
在某些地方,我有两个字符串值。
$this->uri->segment(2)
"{shortname}" . ".html"
我想比较他们,如果他们是平等的,就做点什么
但我进了地狱。。。
现在,我在一些视图中有一些代码:
<?=(strcmp($this->uri->segment(2), "{shortname}" . ".html") == 0) ?
'test' :
'notest' ?><br/>
<?=mb_detect_encoding($this->uri->segment(2))?><br/>
<?=mb_detect_encoding("{shortname}" . ".html")?><br/>
<?=base64_encode(mb_convert_encoding($this->uri->segment(2), 'UTF-8'))?><br/>
<?=base64_encode(mb_convert_encoding("{shortname}" . ".html", 'UTF-8'))?><br/>
<?=$this->uri->segment(2)?><br/>
<?="{shortname}" . ".html"?><br/>
结果我有:
notest
ASCII
ASCII
cml6b2dyYWZpamEtdGlyYXpoaXJvdmFuaWUuaHRtbA==
e3Nob3J0bmFtZX0uaHRtbA==
rizografija-tirazhirovanie.html
rizografija-tirazhirovanie.html
我需要如何编码/解码/比较才能工作?
base64_decode("e3Nob3J0bmFtZX0uaHRtbA==")
={shortname}.html
您的{shortname}
占位符不会被替换。我不使用CodeIgniter,但也许你喜欢使用{$shortname}
?(插入$shortname
变量值)
示例:
echo strcmp($this->uri->segment(2), "$shortname.html") == 0) ? 'test' : 'notest';