Заявка №1. Кириллица в латиницу.

Потихоньку начинаем работать в рамках практики , как видите появилась новая рубрика “по заявкам.” Первая просьба оказалась довольно простой – нужно сделать перекодировщик русских букв в латинские. При этом никаких особых условий обговорено не было,а стало быть рассмотрим наиболее простой вариант, состоящий из маленькой web-формы и функции. Начнём с web-формы.

<!DOCTYPE html>
<html>
<head>
<title>Конвертер CYR-LAT</title>
</head>
<body>
 <form action="" method="post">
 <p>
 <textarea name="src" cols="50" rows="10"></textarea>
 </p>
 <p><input type="submit" value="Перекодировать">
 </form>
</body>
</html>

Здесь всё предельно просто, право не знаю стоит ли подробно описывать формочку. Хотя повторение – мать учения – так что кратко описываем по строкам.

1. <!DOCTYPE html> – доктайп (doctype) не является html-тегом в чистом виде. Это инструкция браузеру, указывающая версию языка разметки. В данном случае мы используем HTML 5.

2. <html> – ну тут всё понятно, тег-контейнер, содержащий в себе всё содержимое.

3. <head> – тег предназначен для хранения метатегов, использующихся для хранения информации, предназначенной поисковым системам и браузерам (например, заголовок страницы, ключевые слова, описание страницы и т.д.).

4.<title>Конвертер CYR-LAT</title> – здесь храним заголовок страницы.

5. </head> – соответственно закрываем тег “головы”

6. <body> – предназначен для хранения содержимого веб-страницы. “Тело” страницы.

7. <form action= ” ” method= “post” > – начало формы, action (действие) содержит в себе пустое строку, поскольку у нас скрипт в одном и том же файле, если бы мы передавали данные в какой-то другой файл,строка выглядела бы примерно так: form action= “myfile.php” . Ну а method = “post” указывает на то, как именно мы передаём данные, методом post или методом get. Само собой в данном случае предпочтительней post, поскольку не меняется адресная строка.

8. <p> – тег, открывающий абзац.

9. <textarea name= “src” cols= “50” rows=”10 “></textarea> – начало текстового поля, куда будем вводить данные. name = “src” – название поля, cols =”50″ – количество столбцов в поле, rows = “10” – количество строк. Ну а далее закрываем текстовое поле.

10. </p> – закрываем тег абзаца.

11. <input type= “submit” value= “Перекодировать” > – данная строка отрисовывает “кнопку” с надписью “Перекодировать” –  type= “submit” – указывает на то, что по нажатию кнопки данные должны быть куда-то отправлены. В нашем случае они будут переданы в тот же самый файл. Далее идут закрывающие теги.

С html всё, переходим к функции php. Выглядеть она будет примерно так:

function converter($cyr) {
 $vvod = array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м', 'н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я');
 $vivod = array('a','b','v','g','d','e','e','g','z','i','y','k','l','m','n','o','p','r','s','t','u','f','h','c','ch','sh','sh','','y','y','e','yu','ya','A','B','V','G','D','E','E','G','Z','I','Y','K','L','M','N','O','P','R','S','T','U','F','H','C','CH','SH','SH','','Y','Y','E','YU','YA');
 $cyr = str_replace($vvod, $vivod, $cyr);
 echo trim($cyr);
}
 if (isset($_POST["src"])) {
 converter($_POST["src"]);
 } else {
 echo "Введите данные";
 } 

 

1. function converter($cyr) { - пишем простую функцию, которая у нас так и называется - converter и принимает данные в переменную $cyr.

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

переменной задаём вот такой длинный одномерный массив, состоящий из кириллических символов.

3. $vivod = array(‘a’,’b’,’v’,’g’,’d’,’e’,’e’,’g’,’z’,’i’,’y’,’k’,’l’,’m’,’n’,’o’,’p’,’r’,’s’,’t’,’u’,’f’,’h’,’c’,’ch’,’sh’,’sh’,”,’y’,’y’,’e’,’yu’,’ya’,’A’,’B’,’V’,’G’,’D’,’E’,’E’,’G’,’Z’,’I’,’Y’,’K’,’L’,’M’,’N’,’O’,’P’,’R’,’S’,’T’,’U’,’F’,’H’,’C’,’CH’,’SH’,’SH’,”,’Y’,’Y’,’E’,’YU’,’YA’);

переменной задаём вот такой длинный одномерный массив, состоящий из латинских символов.

4. $cyr = str_replace($vvod, $vivod, $cyr); – пропускаем переменную $cyr через функцию str_replace, которая, в случае нахождения и меняет символы одного массива на другой.

5. echo trim($cyr); – выводим на экран значения переменной $cyr, пропущенные через функцию trim – удаляющую пробелы в начале и конце строки. Всё просто и очень примитивно.

6. Далее идёт условный цикл – если данные пришли методом POST – вызываем функцию, если не пришли выводим надпись “Введите данные.”

Посмотреть: http://maksonru.dlinkddns.com/scripts/converter.php

Поделиться ссылкой:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *