PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 7
sv2011 Отправлено: 05 Августа, 2011 - 09:24:04 • Тема: str_replace поиск в массиве и замена из массива не получается • Форум: Хранение данных, их вывод и обработка

Ответов: 7
Просмотров: 4264
White пишет:
зачем усложнять такую простую штуку как транслитерация http://php.net/manual/ru/function.strtr.php

Ну да, и все ок работает. Спасибо за помощь)
sv2011 Отправлено: 05 Августа, 2011 - 08:25:16 • Тема: str_replace поиск в массиве и замена из массива не получается • Форум: Хранение данных, их вывод и обработка

Ответов: 7
Просмотров: 4264
И так, версия php у меня 5.2.17 и, соответственно, str_replace должен искать в массиве и заменять массивом.
Но, тут уж ,видимо, моя ошибка. Функция, как я понимаю, ищет полностью весь массив в потоке и, не находя совпадения, ничего не заменяет. Вопрос теперь стоит так - как сделать, чтоб поиск был по значениям ключей, по каждому по отдельности?
Выводы о поиске в массиве сделал из-за того, что для проверки сделал поиск в потоке определенного значения и заменой из массива, ну и соответственно в итоге на экране увидел, что заменяемый символ заменяется array, а не значением.
Вот сам скрипт:
PHP:
скопировать код в буфер обмена
  1.     $trlat = array("CSH","Csh","ZH","Zh","CH","Ch","SH","Sh","JO","Jo","JE","Je","JU","Ju","JA","Ja","csh","zh","ch","sh","jo","je","ju","ja","A","B","V","G","D","E","Z","I","J","K","L","M","N","O","P","R","S","T","U","F","H","C","x","'","Y","a","b","v","g","d","e","z","i","j","k","l","m","n","o","p","r","s","t","u","f","h","c","x","x","y","_","_");
  2.     $trrus = array("Щ","Щ","Ж","Ж","Ч","Ч","Ш","Ш","Ё","Ё","Э","Э","Ю","Ю","Я","Я","щ","ж","ч","ш","ё","э","ю","я","А","Б","В","Г","Д","Е","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","ь","ь","Ы","а","б","в","г","д","е","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ь","ь","ы"," ",".");
  3.      
  4.     $string = $_GET['name'];
  5.     $newres = str_replace ("$trrus", "$trlat", $string);
  6.     echo $newres;

arni, Ваш код мне не помог, к сожалению, может я его не правильно применил...
sv2011 Отправлено: 05 Августа, 2011 - 08:22:52 • Тема: Наложение русского текста на создаваемую картинку • Форум: Графика в PHP

Ответов: 4
Просмотров: 5622
Подскажите, а как узнать id шрифта для подстановки в функцию наложения текста?
sv2011 Отправлено: 04 Августа, 2011 - 12:23:04 • Тема: str_replace поиск в массиве и замена из массива не получается • Форум: Хранение данных, их вывод и обработка

Ответов: 7
Просмотров: 4264
EuGen пишет:
Цитата:
С версии PHP 4.0.5, любой аргумент str_replace() может быть массивом

Настолько старая версия PHP ?

Про версию php я в комментариях к функции читал, у меня 5.х
И еще в описании функции написано, что любым аргументом может быть массив, однако не получается.. Понимаю, что гдето втупил, но где не вижу..
P.S. Хм.. В настройках сервера стоит 4.3, хотя я совершенно точно версию изменял...
Изменю, отпишусь.
Странно, в настройках сервера (использую CPanel) версия не изменяется, точнее сбрасывается обратно на 4.3.9
Какие варианты с этой версийей есть для реализации нужного?
sv2011 Отправлено: 04 Августа, 2011 - 12:01:03 • Тема: str_replace поиск в массиве и замена из массива не получается • Форум: Хранение данных, их вывод и обработка

Ответов: 7
Просмотров: 4264
Здравствуйте.
Нужен маленький скриптик транслитерации.
Написал вот это:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $string = $_GET['name'];
  2. $trans1=array("CSH","Csh","ZH","Zh","CH","Ch","SH","Sh","JO","Jo","JE","Je","JU","Ju","JA","Ja","csh","zh","ch","sh","jo","je","ju","ja","A","B","V","G","D","E","Z","I","J","K","L","M","N","O","P","R","S","T","U","F","H","C","x","'","Y","a","b","v","g","d","e","z","i","j","k","l","m","n","o","p","r","s","t","u","f","h","c","x","x","y","_","_");
  3. $trans2=array("Щ","Щ","Ж","Ж","Ч","Ч","Ш","Ш","Ё","Ё","Э","Э","Ю","Ю","Я","Я","щ","ж","ч","ш","ё","э","ю","я","А","Б","В","Г","Д","Е","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","ь","ь","Ы","а","б","в","г","д","е","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ь","ь","ы"," ",".");
  4. $hz=str_replace($trans2,$trans1,$string);
  5. echo $hz;

Если поиск идет конкретного значения переменной
CODE (htmlphp):
скопировать код в буфер обмена
  1. $string = $_GET['name'];
  2. $some="Б";
  3. $somerep="B";
  4. echo str_replace($some,$somerep,$string);

то проблем никаких, среди строки находит символ и заменяет. А вот с массивом беда - не работает, возвращает неизменную строку
Помогите где я ошибся подскажите.
sv2011 Отправлено: 03 Августа, 2011 - 15:58:00 • Тема: Наложение русского текста на создаваемую картинку • Форум: Графика в PHP

Ответов: 4
Просмотров: 5622
biperch пишет:
нужно выбрать шрифты, google в помощь

Я нашел функцию подгрузки шрифтов. Знач в эту сторону копать? Ок, попробую.
sv2011 Отправлено: 03 Августа, 2011 - 15:23:55 • Тема: Наложение русского текста на создаваемую картинку • Форум: Графика в PHP

Ответов: 4
Просмотров: 5622
Есть форма, передает значение файлу sample.php в котором получаем из адресной строки занчение поля и пишем на картинку примерно так:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $string = $_GET['name'];
  2. $im = imagecreatefrompng("555860png.png");
  3. imagestring($im, 4, $hpx, $vpx, $string, $color);

(часть кода пропущена)
Сам вопрос - как написать на картинку текст русскими буквами? С латинскими проблем нет, русские пишутся кракозябрами..

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB