А вот скажите, а вот если расширить этот код.
$text = 'Сегодня MXZ$@ доволен'; // 21 символ в переменной
echo mb_strlen($text,'UTF-8');
echo $text{20};
т.е 20-я буква "о" не выводится. как быть в таких случаях? по аналогии понимаю, что что-то с кодировкой тоже.... или я не прав?
Спасибо! Помогло...
Так тоже 35
echo mb_strlen($text);
Не а!
Вот я сейчас попробовал!
Ответ 35!
Можете сами проверить скопировав сюда весь код.
http://writecodeonline.com/php/
Присоединяюсь к вопросу. Тоже интересует.
fervent, спасибо большое! Остальным тоже спасибо за альтернативные варианты!
PS Я тут вижу, даже небольшой спор возник между профессионалами. Если гуру не против, мне будет очень интересно и полезно узнать, какое же из решений будет сочтено как наиболее приемлемое (идеальное).
Как по мне, так идеально то, которое учитывает все возможные варианты и дает верный ответ экономя ресурсы...
А что-то почему то не прокатывает вообще замена...т.е он почему то не юзает по строке.... даже пробовал просто на удаление ставить...
$z = "идет пешеход пешеход по дороге лесной лесной и радуется радуется очень сильно.";
$result = preg_replace ("/([^\s]+)\s+(?:\1(\s+|$|\.|,))+/", "", $z);
echo $result;
Тупо строка без изменений возвращается...
Ну задание такое.... =) Найти альтернативное решение... Вообще это из задачника....
Там задачки и по хлеще были. Типа, как поменять переменные а и б местами без использования ц. Ну это я нашел, там с исключающим или прикол. А тут вот пока еще нет...
ВОТ ТЕКСТ ЗАДАЧИ:
одинаковыми словами считаются лишь подряд идущие слова. (вот как в ворде если два раза подряд набрать одно и тоже слово, то второе ворд подчеркивает.) Вот тот же принцип.
Т.е под словом понимается последовательность букв и цифр разделенных между собой пробелами.
Все. Вкурил =) Признаю свою лень...
Спасибо всем.
В ман я конечно, заглянул (просто изначально не внимательно прочел).
Правда, что-то пока в это дело
$text = preg_replace ('/Привет/ie',"\$counter++==1?'Здравствуй':'\\0'",$text);
(жирным пометил) не вкурил...