Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Транслит

Сообщения:  [1-4] 

 
 автор: Gnusmas   (08.03.2006 в 02:09)   письмо автору
 
   для: DelbI4   (07.03.2006 в 13:47)
 

Этот код переводит С Латинице на Русский и С Русского на Латиницу.
Жаль только что слово hacker переводит как хацкер
Пользуйся на здоровье!

<?php
if (!is_array($translit)) {$translit = array();}
$translit["input"] = @htmlspecialchars($translit["input"]);
echo 
"<center>";
if (!empty(
$translit["submit"]))
{
 
$a = NULL;
 if (
$translit["type"] == "2t")
 {
  
$to_arr = array('а'=>'a', 'б'=>'b','в'=>'v', 'г'=>'g', 'д'=>'d', 'е'=>'e','ё'=>'e', 'ж'=>'j', 'з'=>'z', 'и'=>'i','й'=>'y', 'к'=>'k', 'л'=>'l', 'м'=>'m','н'=>'n', 'о'=>'o', 'п'=>'p', 'р'=>'r','с'=>'s', 'т'=>'t', 'у'=>'u', 'ф'=>'f','х'=>'h', 'ц'=>'ts' ,'ч'=>'ch', 'ш'=>'sh','щ'=>'sch', 'ъ'=>"'" ,'ы'=>'i', 'ь'=>"'",'э'=>'е', 'ю'=>'yu', 'я'=>'ya', 'А'=>'A','Б'=>'B', 'В'=>'V', 'Г'=>'G', 'Д'=>'D','Е'=>'E', 'Ё'=>'E', 'Ж'=>'J', 'З'=>'Z','И'=>'I', 'Й'=>'Y', 'К'=>'K', 'Л'=>'L','М'=>'M', 'Н'=>'N', 'О'=>'O', 'П'=>'P','Р'=>'R', 'С'=>'S', 'Т'=>'T', 'У'=>'U','Ф'=>'F', 'Х'=>'H', 'Ц'=>'TS', 'Ч'=>'CH','Ш'=>'SH' ,'Щ'=>'SCH', 'Ъ'=>"'", 'Ы'=>'I','Ь'=>"'", 'Э'=>'Е','Ю'=>'YU', 'Я'=>'YA');
  
$a = str_replace(array_keys($to_arr),array_values($to_arr),$translit["input"]);
 }
 elseif (
$translit["type"] == "ft")
 {
  
$from_arr=array('ja'=>'я', 'ya'=>'я','yo'=>'ё', 'oo'=>'у', 'ch'=>'ч', 'sch'=>'щ','sh'=>'ш', 'ts'=>'ц', 'c'=>'ц', 'yu'=>'ю','a'=>'а', 'b'=>'б', 'v'=>'в', 'g'=>'г','d'=>'д', 'e'=>'е', 'j'=>'ж', 'z'=>'з','i'=>'и', 'y'=>'й', 'k'=>'к', 'l'=>'л','m'=>'м', 'n'=>'н', 'o'=>'o', 'p'=>'п','r'=>'р', 's'=>'с', 't'=>'т', 'u'=>'у','f'=>'ф', 'h'=>'х', "\'"=>'ь', 'JA'=>'Я','YA'=>'Я', 'YO'=>'Ё', 'OO'=>'У', 'CH'=>'Ч','SCH'=>'Щ', 'SH'=>'Ш', 'TS'=>'Ц', 'C'=>'Ц','YU'=>'Ю', 'A'=>'А', 'B'=>'Б', 'V'=>'В','G'=>'Г', 'D'=>'Д', 'E'=>'Е', 'J'=>'Ж','Z'=>'З', 'I'=>'И', 'Y'=>'Й', 'K'=>'К','L'=>'Л', 'M'=>'М', 'N'=>'Н', 'O'=>'O','P'=>'П', 'R'=>'Р', 'S'=>'С', 'T'=>'Т','U'=>'У', 'F'=>'Ф', 'H'=>'Х');
  
$a = str_replace(array_keys($from_arr),array_values($from_arr),$translit["input"]);
 }
 echo 
"Перевод: <b><big>".@htmlspecialchars($a)."</big></b><br>";
}
echo 
"<form action=\"translit.php\" method=post>Текст: <textarea name=translit[input] cols=50 rows=10>".@htmlspecialchars($translit["input"])."</textarea><br><br>С Русского на Латиницу<input type=radio name=translit[type] value='2t'> С Латинице на Русский<input type=radio name=translit[type] value='ft' checked><br><br><input type=submit name=translit[submit]></form>";
?>

   
 
 автор: Temnovit   (07.03.2006 в 14:58)   письмо автору
 
   для: DelbI4   (07.03.2006 в 13:47)
 

Функция str_replace() поддерживает множественныю замену. Нужно 2 массива. В первом перечислите что нужно заменить, а во втором, соответственно, на что. Выглядит это так.

<?
   
//список того, что нужно заменить
   
$from = array('А', 'Б', 'В', 'Г', 'Д');
   
//на что нужно заменить
   
$to = array('Э', 'П', 'Ф', 'К', 'Т');

   
$string = "А это исходная строка";

   
//заменяем
   
$result = str_replace($from, $to , $string);

  
//выведет "Э это исхотная строкэ"
   
echo $result;
?>

   
 
 автор: elenaki   (07.03.2006 в 14:11)   письмо автору
 
   для: DelbI4   (07.03.2006 в 13:47)
 

вот легкий пример:

   
 
 автор: DelbI4   (07.03.2006 в 13:47)   письмо автору
 
 

Кто нибуть может представить легкий пример того, как заменять символы.
Структура:
Есть форма, например textarea, ввожу туда текст, примерно такой >> "Привет, как тебя зовут?"
Появляется страничка, с тем что я ввел, тока некоторые символы заменены, например В > Ф
в итоге вывело на экран "Прифет, как тебя зофут?"

p.s Даже не спрашивайте для чего :)))))

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования