[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кодировка скрипта UTF-8 без BOM - замена символов
session_on
Привет, вопрос конечно нубский) просто я раннее всегда использовал кодировку ANSI, но вот некоторые скрипты понадобилось преобразовать в UTF-8 без BOM, и столкнулся с небольшой проблемой.
Проблема заключается в следующем:
Существует двумерный массив (в ключах массива хранится русская буква)
Далее генерирует скрипт некий текст - это не суть важно, я сразу прописал в $text_create - текст.
Потом подсчитываем сколько в $text_create символов, далее циклом заменяем каждую букву - она может и не замениться даже если существует в двумерном массиве 50% шанс замещения.

Так вот в кодировке ANSI все работает прекрасно, а вот с UTF-8 без BOM работать не хочет...

Подскажите пожалуйста как правильно изменить код чтоб он работал?

Код:


$replace_arr=array(//Массив букв которые могут измениться
"а" => array("а", "a"),
"А" => array("А", "A"),
"в" => array("в", "B"),
"В" => array("В", "B"),
"е" => array("е", "e"),
"Е" => array("Е", "E"),
"з" => array("з", "3"),
"З" => array("З", "3"),
"к" => array("к", "k"),
"К" => array("К", "K"),
"м" => array("м", "M"),
"М" => array("М", "M"),
"н" => array("н", "H"),
"Н" => array("Н", "H"),
"о" => array("о", "o"),
"О" => array("О", "O"),
"р" => array("р", "p"),
"Р" => array("Р", "P"),
"с" => array("с", "c"),
"С" => array("С", "C"),
"т" => array("т", "T"),
"Т" => array("Т", "T"),
"у" => array("у", "y"),
"У" => array("У", "Y"),
"х" => array("х", "x"),
"Х" => array("Х", "X"));


$text_create='Сегодня хорошая погода';//Текст

$textstr=strlen($text_create);//Подсчитываем количество символов

$a=-1;
while($a++<$textstr){
$textsub=substr($text_create, $a, 1);
if(is_array($replace_arr[$textsub])){//Проверяем существование подмассива по ключу выдернутой буквы

if(mt_rand(1,2)==1){//Меняем ее или нет 50 на 50
shuffle($replace_arr[$textsub]);//Мешаем подмассив
$text_create=''.substr($text_create, 0, $a).''.$replace_arr[$textsub][0].''.substr($text_create, $a+1).'';//Изменяем Текст
}

}
}



echo $text_create;

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.