Всех друзей поздравляем с Новым годом! Всего вам самого наилучшего! Всех благ, здоровья а материальное приложится!
СКРИПТЫ althtmlcssphpjsblog

Strtolower php Использование strtolower, не работает для кириллицы , примеры

Поддержи проект!!! smile

Сегодня разберем функцию strtolower, которая преобразует строку в нижний регистр. Т.е. все буквы делает строчными в php. Попробуем разобраться в ошибках связанных с функцией strtolower, примеры strtolower, напишем свою функцию для кириллицы преобразующие большие буквы в маленькие, но не только о strtolower, но и коснемся mb-strtolower.

Естественно нужно начать с определения даннйо функции:

Все о функции strtolower

  1. Что такое strtolower
  2. Использование strtolower для латиницы:
  3. Использование strtolower для кириллицы:
  4. Strtolower не работает для кириллицы
  5. Собственная функция Strtolower для кириллицы!
  6. Собственная функция Strtolower для кириллицы и латиницы!
  7. Онлайн функция Strtolower для текста!
  8. Скачать можно здесь

  1. Что такое strtolower

    С самого начала -дадим определение : "что такое strtolower":
    strtolower - это функция возвращает строку, в которой все буквы приведены в нижний регистр

    Синтаксис функции strtolower

    strtolower ( string $string ) : string

    Разбор синтаксиса функции strtolower

    strtolower - название функции.

    string - тип переменной, которую может обработать функция strtolower - строка

    $string - переменная.

    : string - тип возвращаемого значения строка

    Использование strtolower:

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

    $переменная = "ЭТО ТЕСТОВЫЙ ТЕКСТ, КОТОРЫЙ БУДЕТ ИЛЛЮСТРИРОВАТЬ ПОВЕДЕНИЕ СТРОЛЛОВЕР ";

    Ну и далее оборачиваем переменную функцией strtolower:

    $переменная = strtolower($переменная);

    И выводим результат с помощью echo

    echo $переменная ;

  2. Пример использования strtolower для латиницы:

    Для того, чтобы показать пример использования функции strtolower - нам понадобится текст на английском:

    THIS IS A TEST TEXT THAT WILL ILLUSTRATE THE BEHAVIOR OF THE STRTOLOWER

    Далее применим к данной строке strtolower с использованием функции echo :

    echo ("THIS IS A TEST TEXT THAT WILL ILLUSTRATE THE BEHAVIOR OF THE STRTOLOWER");

    Результат применения strtolower к английскому тексту, который написан "ПРОПИСНЫМИ"

    this is a test text that will illustrate the behavior of the strtolower

    Как видим - наши "ПРОПИСНЫЕ" буквы на английском стали "строчными".

    После этого можем переходить к кириллице!

  3. Использование strtolower для кириллицы:

    Для того, чтобы протестировать работу функции strtolower для кириллицы нам потребуется строка на русском:
    ЭТО ТЕСТОВЫЙ ТЕКСТ, КОТОРЫЙ БУДЕТ ИЛЛЮСТРИРОВАТЬ ПОВЕДЕНИЕ СТРОЛЛОВЕР

    Опять поступаем со строкой, как в выше идущем пункте:

    echo ("ЭТО ТЕСТОВЫЙ ТЕКСТ, КОТОРЫЙ БУДЕТ ИЛЛЮСТРИРОВАТЬ ПОВЕДЕНИЕ СТРОЛЛОВЕР ");

    Расположим данный вывод прямо здесь и получим:

    ЭТО ТЕСТОВЫЙ ТЕКСТ, КОТОРЫЙ БУДЕТ ИЛЛЮСТРИРОВАТЬ ПОВЕДЕНИЕ СТРОЛЛОВЕР

    Мы видим, что ничего у нас не произошло…

    Почему не сработала функция strtolower

    Не буду подробно останавливаться на этом пункте, просто скажу, что существует разница между кодировками и наборами алфавитов:

    Насколько я понимаю, что проблема в данном случае с кодировкой utf-8 для кириллицы! Дело в том, что кириллица в данной кодировке имеет не один символ а два... и strtolower просто не понимает, что от него хотят...

    Чтобы показать в живую, чем отличается кириллица от латиницы:

    напишем var_dump ('МИР')

    string(6) "МИР"

    и var_dump('VAR')

    string(3) "VAR"

    Далее наверное и не нужно объяснять, что произошло... var_dump нам выдал о слове МИР на кириллице 6 знаков...

  4. Strtolower не работает для кириллицы

    Если функция Strtolower не сработала для кириллицы - что делать!?

    Вместо strtolower, можно использовать mb_strtolower - что означает mb

    Но если например мы будем использовать данную функцию в таком виде:

    $str = mb_strtolower($str);

    То получим такой результат:

    , Чтобы mb_strtolower заработала с кириллицей UTF-8 ей нужно придать кодировку, таким образом:
    $str = mb_strtolower($str, "UTF-8");

    Смотрим, что у нас в итоге получилось:

    это тестовый текст, который будет иллюстрировать поведение стролловер

  5. Собственная функция Strtolower для кириллицы!

    Сталкивались с Strtolower для кириллицы!? Или может вы использовали mb-strtolower для кириллицы!? Эти функции работали и как впечатление!?

    Когда в последний раз меня вывела из себя функция mb-strtolower – оказывается – эту хрень еще и подключать надо! Какая важная фифа, что она может даже быть и отключенная! Не то, что я не могу разобраться, как её включить – но просто это так достало, что просто нет тех слов цензурных слов, которые могли бы выразить все то, что я им хочу сказать!

    Сделаем собственную функцию Strtolower для кириллицы!

    Нам нужна такая функция Strtolower для кириллицы, чтобы она работала всегда и везде и чтобы больше никогда я не встречался с этой проблемой – мы просто напишем собственную функцию Strtolower для кириллицы!

    Погнали!

    Нам понадобится массив, который представляет из себя ключ – Большая кириллическая буква(верхний регистр = «ПРОПИСНЫЕ»), значение маленькая кириллическая буква(нижний регистр = «строчные»)

    $ru_array = array('А' => 'а','Б' => 'б','В' => 'в','Г' => 'г','Д' => 'д', 'Е' => 'е','Ё' => 'ё','Й' => 'й','Ж' => 'ж','З' => 'з','И' => 'и','К' => 'к','Л' => 'л','М' => 'м','Н' => 'н','О' => 'о','П' => 'п','Р' => 'р','С' => 'с','Т' => 'т','У' => 'у','Ф' => 'ф','Х' => 'х','Ц' => 'ц','Ч' => 'ч','Ш' => 'ш','Щ' => 'щ','Ъ' => 'ъ','Ы' => 'ы','Ь' => 'ь','Э' => 'э','Ю' => 'ю','Я' => 'я');

    1). Создаем функцию, в которую помещаем наш массив с большими и маленькими буквами

    Еще нам понадобится функция strtr – которая преобразует найденные ключи в значения!

    function examplestrtolower($str) { $ru_array = array('А' => 'а','Б' => 'б','В' => 'в','Г' => 'г','Д' => 'д', 'Е' => 'е','Ё' => 'ё','Й' => 'й','Ж' => 'ж','З' => 'з','И' => 'и','К' => 'к','Л' => 'л','М' => 'м','Н' => 'н','О' => 'о','П' => 'п','Р' => 'р','С' => 'с','Т' => 'т','У' => 'у','Ф' => 'ф','Х' => 'х','Ц' => 'ц','Ч' => 'ч','Ш' => 'ш','Щ' => 'щ','Ъ' => 'ъ','Ы' => 'ы','Ь' => 'ь','Э' => 'э','Ю' => 'ю','Я' => 'я'); return strtr($str,$ru_array ); }

    2). Поместим наш тестовый текст с прописными буквами в переменную

    И обработаем дальше уже нашей функцией Strtolower для кириллицы

    $text ="ЭТО НАШ ТЕСТОВЫЙ ТЕКСТ, КОТОРЫЙ НАПИСАН ПРОПИСНЫМИ, А ЧТО ТАКОЕ ПРОПИСНЫЕ – ЭТО БОЛЬШИЕ КИРИЛЛИЧЕСКИЕ БУКВЫ В ВЕРХНЕМ РЕГИСТРЕ. ТОЛЬКО ПРИДУРОК МОЖЕТ ТАК ПИСАТЬ, СО ВКЛЮЧЕННЫМ КАПСОМ, И ДАЛЕЕ ПРОВЕРИМ РАБОТУ СОБСТВЕННУЮ ФУНКЦИЮ СТРОЛЛОВЕР ДЛЯ КИРИЛЛИЦЫ!";
    echo examplestrtolower($text);

    Результат работы собственной функции для кириллицы!

    3). Ну и нам осталось вывести результат преобразования нашего текста прописными в строчные с помощью простой функции стролловер для кириллицы в utf-8
    это наш тестовый текст, который написан прописными, а что такое прописные – это большие кириллические буквы в верхнем регистре. только придурок может так писать, со включенным капсом, и далее проверим работу собственную функцию стролловер для кириллицы!
  6. Собственная функция Strtolower для кириллицы и латиницы!

    Пойдем дальше! Чем каждый раз вспоминать,какая функция работает там, работает сям! Сделаем функцию для кириллицы и латиницы, дарю:

    function my_strtolower($strr) { $ru_en_atray = array('А' => 'а','Б' => 'б','В' => 'в','Г' => 'г','Д' => 'д', 'Е' => 'е','Ё' => 'ё','Й' => 'й','Ж' => 'ж','З' => 'з','И' => 'и','К' => 'к','Л' => 'л','М' => 'м','Н' => 'н','О' => 'о','П' => 'п','Р' => 'р','С' => 'с','Т' => 'т','У' => 'у','Ф' => 'ф','Х' => 'х','Ц' => 'ц','Ч' => 'ч','Ш' => 'ш','Щ' => 'щ','Ъ' => 'ъ','Ы' => 'ы','Ь' => 'ь','Э' => 'э','Ю' => 'ю','Я' => 'я' , 'A'=> 'a', 'B'=> 'b','C'=> 'c','D'=> 'd','E'=> 'e','F'=> 'f','G'=> 'g','H'=> 'h','I'=> 'i','J'=> 'j','K'=> 'k','L'=> 'l','M'=> 'm','N'=> 'n','O'=> 'o','P'=> 'p','Q'=> 'q','R'=> 'r','S'=> 's','T'=> 't','U'=> 'u','V'=> 'v','W'=> 'w','X'=> 'x','Y'=> 'y','Z'=> 'z'); return strtr( $strr , $ru_en_atray ); }

    Теперь давайте испытаем, сразу на двух текстах... что мы сделаем!?

    Выведем наши текста таикм образом:

    echo my_strtolower($new_text_strollower . ' <br> ' . $new_text_strollower_en);

    Результат работы собственной функции strollower

    это тестовый текст, который будет иллюстрировать поведение стролловер
    this is a test text that will illustrate the behavior of the strtolower
  7. Онлайн функция Strtolower для текста!

    Теперь на нашем сайте вы можете привести весь текст, который так или иначе написан с включением больших(прописных) букв, превратить в текст написанный строчными, т.е. маленькими!

    Как работает онлайн Strtolower

    В поле ввода пишем или вставляем текст ПРОПИСНЫМИ! И нажимаем отправить! И вы получите результат! Пока только Русский и английский языки!



Вас может еще заинтересовать список тем : #PHP | #PHP_FUNCTION | #PHP_BOOK |
Последняя дата редактирования : 09.02.2021 01:28
Название скрипта :Буквы в нижнем регистре php
Скрипт № 77.1Ссылка на скачивание : Все скрипты на одной странице
//dwweb.ru/comments_1_5/include/img/hand_no_foto.png
no
no
Еще никто не прокомментировал! COMMENTS+   BBcode
аватар
🞨
Загрузить свой аватар
(max ширина, высота = 200px)

Подписаться + =
Теги:
strtolower strtolower php mb strtolower mb strtolower php strtolower не работает strtolower utf strtolower кириллица strtolower utf strtolower php кириллица php strtolower utf strtolower php не работает php strtolower русские символы mb strtolower utf mb strtolower не работает с русскими буквами strtolower не работает с русскими буквами utf php mb strtolower utf функция strtolower не работает с кириллицей

Последние комментарии :
Марат :
08/02/2021 02:50
Всегда пожалуйста приходите ещё!
подробнее.
Павел :
08/02/2021 11:11
Спасибо большое. Очень поучительно.
подробнее.
Марат :
03/02/2021 07:22
03/02/2021Тестирование и разработка Comments+1.5 отложена на неопределенное…
подробнее.
Марат :
31/01/2021 08:31
Всегда пожалуйста!Рад, что помог!
подробнее.
Bambr :
31/01/2021 07:34
Огромное спасибо! )
подробнее.