- Подробности
-
Категория: PHP. Синтаксис
регистр букв Доброго времени суток.
И так, немного философии и знаний, что же такое регистр букв?! Это понятие возможно незнакомо начинающему заниматься web мастерингом. Но всё гораздо проще, со школьной скамьи мы все с этим регистром букв сталкивались. Заглавная буква (прописная буква) в тексте (начало предложения), строчная буква , идущая после заглавной — это как раз и есть различный регистр букв. Проще можно было бы сказать размер букв, но это будет не совсем верно. Размер строчной буквы может составить 50 px, а заглавная буква может иметь меньший размер, но оставаться при этом заглавной. Регистр это разница в написании одного и того же символа, разное представление одних и тех же буквенных знаков.
Например:
G — заглавная буква (прописная буква)
g — строчная буква
В PHP есть четыре встроенных функции, для работы с регистром букв. Давайте перечислим сразу их все:
strtolower — uppercase and lowercase letters, case conversion
strtoupper — UPPERCASE AND LOWERCASE LETTERS, CASE CONVERSION
ucfirst — Uppercase and lowercase letters, case conversion
ucwords — Uppercase And Lowercase Letters, Case Conversion
Листинг № 1 — Преобразование регистра букв, с помощью встроенных функций PHP.
<?php
$r = "uppercase and lowercase letters, case conversion.";
echo strtolower($r)."<br>";
echo strtoupper($r)."<br>";
echo ucfirst($r)."<br>";
echo ucwords($r)."<br>";
//На мониторе мы увидим следующее:
/*
uppercase and lowercase letters, case conversion.
UPPERCASE AND LOWERCASE LETTERS, CASE CONVERSION.
Uppercase and lowercase letters, case conversion .
Uppercase And Lowercase Letters, Case Conversion.
*/
?>
Регистр букв. Функции для кодировки UTF-8.
Листинг № 2 — Функции преобразования регистра для кодировки Юникод(UTF-8).
<?php
$r = "Verification predlorzhenie.";
echo mb_strtoupper($r, 'UTF-8'); // VERIFICATION PREDLORZHENIE.
echo mb_strtolower($r, 'UTF-8'); // verification predlorzhenie.
echo mb_convert_case($r, MB_CASE_TITLE, "UTF-8"); // Verification Predlorzhenie.
echo mb_convert_case($r, MB_CASE_UPPER, "UTF-8"); // VERIFICATION PREDLORZHENIE.
?>
Листинг № 5 — Как перевести в верхний регистр только первую букву строки, в кодировке UTF-8? Я предлагаю ручками! А точнее с применением функции reop($str), код ниже.
<?php
$a= 'постой паровоз не стучите колёса…';
function reop($string)
{
list($first_str) = explode(' ', trim($string));
return mb_convert_case($first_str, MB_CASE_TITLE, "utf-8").' '. strstr($string, ' ');
}
echo reop($a); // Постой паровоз не стучите колёса…
?>
Регистр букв. Перевод русского текста.
Листинг № 3 — Меняем регистр букв в русском тексте.
<?php
$r = "Регистр букв.";
echo mb_strtoupper($r, 'windows-1251'); // РЕГИСТР БУКВ.
echo mb_strtolower($r, 'Windows-1251'); // регистр букв.
echo mb_convert_case($r, MB_CASE_TITLE, "Windows-1251"); // Регистр Букв.
echo mb_convert_case($r, MB_CASE_UPPER, "Windows-1251"); // РЕГИСТР БУКВ.
?>
Для того чтоб передать значение после обработки любой функцией, следует его сохранить в переменной.
Листинг № 4 — Передаём в переменную значения с изменённым регистром букв.
<?php
$r = mb_strtoupper($r, 'windows-1251'); // РЕГИСТР БУКВ.
$ra = mb_strtolower($r, 'Windows-1251'); // регистр букв.
$rs = mb_convert_case($r, MB_CASE_TITLE, "Windows-1251"); // Регистр Букв.
$rv = mb_convert_case($r, MB_CASE_UPPER, "Windows-1251"); // РЕГИСТР БУКВ.
echo $r; // РЕГИСТР БУКВ.
echo $ra; // регистр букв.
echo $rs; // Регистр Букв.
echo $rv; // РЕГИСТР БУКВ.
?>