Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.04.2012, 00:32
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 19.03.2012
Сообщений: 163

Не работает mb_convert_case
Так как функция ucfirst преобразует в верхний регистр лишь латиницу, а не кирилицу каждую первую букву, каждого следующего предложения в тексте, решил использовать альтернативную функцию mb_convert_case Прочитал в документации, там такой пример, но на экран ничего не выводистя вообще, хоть и эко стоит, хотя функции mb_strtolower и mb_strtoupper для других возможностей работают. Почему этот код не выводит ничего?

Код:
<?php
$str = "у мэри был маленький ягненок и она его очень любила";
$str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
echo $str; // Выведет У МЭРИ БЫЛ МАЛЕНЬКИЙ ЯГНЕНОК И ОНА ЕГО ОЧЕНЬ ЛЮБИЛА
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // Выведет У Мэри Был Маленький Ягненок И Она Его Очень Любила
?>
Ответить с цитированием
  #2 (permalink)  
Старый 15.04.2012, 00:35
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Потому что вам текст нужно отдавать функции в формате UTF-8 а не WINDOWS-1251 перекодируйте файл с исходным кодом в UTF-8 и все будет норм.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 15.04.2012, 00:44
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 19.03.2012
Сообщений: 163

Спасибо. Странно как-то, пришлось перекодировать сам файл index.php в ЮТФ-8, тогда только заработало.
Ответить с цитированием
  #4 (permalink)  
Старый 15.04.2012, 01:05
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 19.03.2012
Сообщений: 163

<html><body>
<?php

$str = "у мэри Был маленький ягненок и она его очень любила. однажды она купила слона.";

$str = mb_convert_case($str,MB_CASE_TITLE,"UTF-8");
echo $str;
echo '<br>'.ucfirst($str);
?>
</body></html>


Что-то эти 2 функции не оправдали моих надежд.
Мне нужно чтоб каждая первая буква, в каждом следующем предложении начиналась с большой буквы, а они в каждом слове все с большой буквы, не подскажете какую функцию в такой ситуации использовать?
Ответить с цитированием
  #5 (permalink)  
Старый 15.04.2012, 04:47
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

Сообщение от kilogram Посмотреть сообщение
<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);
?>


вообще с кирилицей работать с регистрами проблематично
__________________
С моих слов записано верно.
Ответить с цитированием
  #6 (permalink)  
Старый 15.04.2012, 11:42
Аспирант
Отправить личное сообщение для Викториан Посмотреть профиль Найти все сообщения от Викториан
 
Регистрация: 09.04.2012
Сообщений: 65

а у меня этот код не работает, просто текстом, когда заключаешь в <script></script> вообще ничего нет...
Ответить с цитированием
  #7 (permalink)  
Старый 15.04.2012, 11:44
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Викториан
а у меня этот код не работает, просто текстом, когда заключаешь в <script></script> вообще ничего нет...
Потому что этот код не для JavaScript а для PHP
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
Не работает код внутри циклов DZHETIGAPA Events/DOM/Window 1 21.06.2011 01:03
ява-скрипт выборочно работает-не работает zeta777 Internet Explorer 0 20.01.2010 11:41
Динамическая HTML форма (FireFox - работает, IE - не работает) dm1tr1y Общие вопросы Javascript 10 11.12.2009 15:59
Скрипт меню-гармошки работает выборочно Extern Элементы интерфейса 2 23.02.2009 15:32