Заявка №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

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

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

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