2016-05-17 25 views
0

私はいくつかのサイトは、最も古くからのCodeIgniterのバージョンを使用してphp5で書かれています。私は設定してい
:いくつかの場所でPHPの文字列のエンコード

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

を、私は2つの文字列値を持っています。

  1. $this->uri->segment(2)
  2. "{shortname}" . ".html"

私はそれらを比較したい、と彼らは対等である場合に何かをします。私はエンコード/デコードを必要とするどのよう

notest 
ASCII 
ASCII 
cml6b2dyYWZpamEtdGlyYXpoaXJvdmFuaWUuaHRtbA== 
e3Nob3J0bmFtZX0uaHRtbA== 
rizografija-tirazhirovanie.html 
rizografija-tirazhirovanie.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/> 


しかし、私は地獄に入る...

は今、私はいくつかのビューでいくつかのコードを持っています/それが機能するかどうか比較する?

答えて

3

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

あなた{shortname}プレースホルダが置き換えられません。 私はCodeIgniterを使用していませんが、おそらく{$shortname}を使用しますか? (挿入$shortname変数値)

例:

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

はい!それが理由です。それは私が直接使用する場合にのみ置き換えられます:<?= {shortname}?>。しかし、私が引数として渡すと、それは置き換えられません...私はコントローラに条件を入れます。どうもありがとうございました! –

関連する問題