Потихоньку начинаем работать в рамках практики , как видите появилась новая рубрика «по заявкам.» Первая просьба оказалась довольно простой — нужно сделать перекодировщик русских букв в латинские. При этом никаких особых условий обговорено не было,а стало быть рассмотрим наиболее простой вариант, состоящий из маленькой 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