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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Простая замена букв, запутанное выполнение скрипта
 
 автор: Render3000   (31.10.2007 в 02:12)   письмо автору
 
 

Написал вот такой скрипт замены:


<?
    $nick 
htmlspecialchars(stripslashes($_REQUEST['nick']));
    
    
$nick str_replace("a""ka"$nick);
    
$nick str_replace("b""zu"$nick);
    
$nick str_replace("c""mi"$nick);
    
$nick str_replace("d""te"$nick);
    
$nick str_replace("e""ku"$nick);
    
$nick str_replace("f""lu"$nick);
    
$nick str_replace("g""ji"$nick);
    
$nick str_replace("h""ri"$nick);
    
$nick str_replace("i""ki"$nick);
    
$nick str_replace("j""zu"$nick);
    
$nick str_replace("k""me"$nick);
    
$nick str_replace("l""ta"$nick);
    
$nick str_replace("m""rin"$nick);
    
$nick str_replace("n""to"$nick);
    
$nick str_replace("o""mo"$nick);
    
$nick str_replace("p""no"$nick);
    
$nick str_replace("q""ke"$nick);
    
$nick str_replace("r""shi"$nick);
    
$nick str_replace("s""ari"$nick);
    
$nick str_replace("t""chi"$nick);
    
$nick str_replace("u""do"$nick);
    
$nick str_replace("v""ru"$nick);
    
$nick str_replace("w""mei"$nick);
    
$nick str_replace("x""na"$nick);
    
$nick str_replace("y""fu"$nick);
    
$nick str_replace("z""z"$nick);
    
    echo 
"<span class='res'>$nick</span>";
    
?>


Проблема возникла в следующем: Допустим передаём в качестве переменной $nick значение "a", далее происходит замена на "ka", но патом это значение начинает опять заменяться, тоесть ( "k -> me", "a -> ka" ) но я планировал, что будут искаться другие буквы и будет происходить замена, например если я напишу "Render" - то в итоге должно получиться:

R ->shi
e ->ku
n ->to
d ->te
e ->ku
r ->shi

Тоесть мой ник по японски ))
Надеюсь что проблема ясна, мне не нужно чтобы например над "shi" производилось ещё 3 замены! Помогите пожалуйста.

   
 
 автор: KPETuH   (31.10.2007 в 04:56)   письмо автору
 
   для: Render3000   (31.10.2007 в 02:12)
 

работаем со словом как с масивом и работаем последовательнро с каждой буквой этого массива...

   
 
 автор: Lstasss   (31.10.2007 в 10:23)   письмо автору
 
   для: KPETuH   (31.10.2007 в 04:56)
 

Zagonite vse zameniajushie i zameniaemye v massiv i ispol'zujte

preg_replace()


$str = preg_replace($arr, $replacer, $string);

   
 
 автор: Render3000   (31.10.2007 в 11:34)   письмо автору
 
   для: Lstasss   (31.10.2007 в 10:23)
 

А можно небольшой пример с массивом и пару значений, как-то не совсем понятно как это будет действовать. Тоесть писать так? $arr = array("a"=>"ka", "b"=>"zu"); только неясно как-тогда $replacer будет работать, с этими вопросами у меня туговато.

   
 
 автор: Саня   (31.10.2007 в 11:46)   письмо автору
 
   для: Render3000   (31.10.2007 в 11:34)
 

$arr = array("a", "b"...
$replacer = array("ka", "zu"...

   
 
 автор: KPETuH   (31.10.2007 в 11:51)   письмо автору
 
   для: Render3000   (31.10.2007 в 11:34)
 

я имел ввиди нечто подобное


<?php
  $str
="привет";
  
$i=0;
  while (isset(
$str[$i]))
  {
      echo 
$str[$i] ."<br />";
      
$i++;
  }
?>

   
 
 автор: Render3000   (31.10.2007 в 14:35)   письмо автору
 
   для: KPETuH   (31.10.2007 в 11:51)
 

Всем спасибо (=
Можете заценить результат http://render.z-host.ru/japan-name/

   
Rambler's Top100
вверх

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