Проблема с strtr

Статус
В этой теме нельзя размещать новые ответы.

swer

Профессор
Регистрация
14 Июн 2008
Сообщения
304
Реакции
38
Здравствуйте.Вот в ходе работы сталкнулся с проблемой,а именно с ф-ей strtr.Вот код
PHP:
$out_text = $_POST['text'];
	$arr = array();
	for($e=0;$e<count($f_rep);$e++){
		$repl=explode(",",$f_rep[$e]);
		$arr[$repl[0]] = $repl[1];
		}
	   $out_text = strtr($out_text, $arr);
где параметр $f_rep содержит данные типа
array("а,б","в,г" и тд)
задача заменить в текста значения,но проблема в том что напроч не хочеть выполнять, что не так сделал подскажите,долго ломал голову но так и не нашел причину,но если просто написать
$arr = array("а"=>"б") те без цыкла все работает...
 
Здравствуйте.Вот в ходе работы сталкнулся с проблемой,а именно с ф-ей strtr.Вот код
PHP:
$out_text = $_POST['text'];
	$arr = array();
	for($e=0;$e<count($f_rep);$e++){
		$repl=explode(",",$f_rep[$e]);
		$arr[$repl[0]] = $repl[1];
		}
	   $out_text = strtr($out_text, $arr);
где параметр $f_rep содержит данные типа
array("а,б","в,г" и тд)
задача заменить в текста значения,но проблема в том что напроч не хочеть выполнять, что не так сделал подскажите,долго ломал голову но так и не нашел причину,но если просто написать
$arr = array("а"=>"б") те без цыкла все работает...

Cделай var_dump($arr), увидишь в чем проблема. Либо сохрани файл, например, в cp1251, либо используй мультибайтовые функции для работы с utf
 
  • Нравится
Реакции: swer
хочется все же полный код увидеть

но
$arr = array("а"=>"б")
совсем не тоже самое что
array("а,б","в,г" и тд)
 
  • Нравится
Реакции: swer
вообще то все должно работать.. проверь кодировки текста в переменных..
 
  • Нравится
Реакции: swer
Cделай var_dump($arr), увидишь в чем проблема. Либо сохрани файл, например, в cp1251, либо используй мультибайтовые функции для работы с utf

уже анализировал,аррай выдает правильную структуру,тож думал что в кодировке,сменял на ютф8 тож без результата...

хочется все же полный код увидеть
но
$arr = array("а"=>"б")
совсем не тоже самое что
array("а,б","в,г" и тд)

полный код еще запутенней чем этот отрезок,я дал лиш то место где проблема,а насчет "array("а,б","в,г" и тд) " вы наверное не обратили внимание на "$repl=explode(",",$f_rep[$e]);"

думаю этот случай из темы "забытая запятая",поэтму не стал дальше разбиратся и ломать голову а сделал немного по другому используя str_replace, хот и не так получилось как хотелось...
Всем спасибо,можно закрывать.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху