PHP字符串编码

时间:2016-05-17 15:35:26

标签: php codeigniter encoding

我使用最古老的CodeIgniter版本在php5上编写了一些网站 我有配置:

$config['charset'] = 'windows-1251';

在某个地方,我有2个字符串值。

  1. $this->uri->segment(2)
  2. "{shortname}" . ".html"
  3. 我想要比较它们,如果它们是平等的话就做点什么 但我陷入了地狱......

    现在,我在某些视图中有一些代码:

    <?=(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
    

    我需要编码/解码/比较它是否有效?

1 个答案:

答案 0 :(得分:3)

base64_decode("e3Nob3J0bmFtZX0uaHRtbA==") = {shortname}.html

您的{shortname}占位符未被替换。 我没有使用CodeIgniter,但您可能想使用{$shortname}吗? (插入$shortname变量值)

示例:

echo strcmp($this->uri->segment(2), "$shortname.html") == 0) ? 'test' : 'notest';