Не работает mb_convert_case
Так как функция ucfirst преобразует в верхний регистр лишь латиницу, а не кирилицу каждую первую букву, каждого следующего предложения в тексте, решил использовать альтернативную функцию mb_convert_case Прочитал в документации, там такой пример, но на экран ничего не выводистя вообще, хоть и эко стоит, хотя функции mb_strtolower и mb_strtoupper для других возможностей работают. Почему этот код не выводит ничего?
Код:
<?php |
Потому что вам текст нужно отдавать функции в формате UTF-8 а не WINDOWS-1251 перекодируйте файл с исходным кодом в UTF-8 и все будет норм.
|
Спасибо. Странно как-то, пришлось перекодировать сам файл index.php в ЮТФ-8, тогда только заработало.
|
<html><body> <?php $str = "у мэри Был маленький ягненок и она его очень любила. однажды она купила слона."; $str = mb_convert_case($str,MB_CASE_TITLE,"UTF-8"); echo $str; echo '<br>'.ucfirst($str); ?> </body></html> Что-то эти 2 функции не оправдали моих надежд. Мне нужно чтоб каждая первая буква, в каждом следующем предложении начиналась с большой буквы, а они в каждом слове все с большой буквы, не подскажете какую функцию в такой ситуации использовать? |
Цитата:
ну вот..как-то на скорую руку накидал такое: <?php function ufb($str){ $stats = explode('. ',$str); for($i = sizeof($stats)-1; $i>0; $i-=1){ $words = explode(' ',$stats[$i]); $words[0] = mb_convert_case($words[0], MB_CASE_TITLE, "UTF-8"); $stats[$i] = join(' ', $words); } return join('. ', $stats); } $a = "Вася спит. петя бухает. коля курит. маша машит."; echo ufb($a); ?> вообще с кирилицей работать с регистрами проблематично :) |
а у меня этот код не работает, просто текстом, когда заключаешь в <script></script> вообще ничего нет...
|
Цитата:
|
Часовой пояс GMT +3, время: 06:41. |