У меня есть сайт, написанный на php5 с использованием самой древней версии CodeIgniter.
У меня конфиг:PHP string encode
$config['charset'] = 'windows-1251';
В каком-то месте, у меня есть 2 значения строки.
$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
Как мне нужно кодировать/декодировать/сравнить, он будет работать?
Да! Это причина. Он заменяется, только если я использую его напрямую: = {Shortname}?>. Но если я передам его в качестве аргумента, он не заменит ... Я поставил условие в контроллер. Большое спасибо! –