Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Замена 10 смайликов в тексте. 
:(
    Опции темы
Elfet
Дата 25.3.2009, 12:41 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Всем привет!
Подскажите пожалуйста как в тексте заменить только 10 смайлов?
Смайлы заданы вот так:
Код

$smile = array (
":)" => "smiles/smile1.gif",
":(" => "smiles/smile2.gif",
";)" => "smiles/smile3.gif",
);



--------------------
PM MAIL WWW Skype   Вверх
bars80080
Дата 25.3.2009, 13:01 (ссылка)   | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Код

$smile = array (
":)" => "smiles/smile1.gif",
":(" => "smiles/smile2.gif",
";)" => "smiles/smile3.gif",
);
$keys = $values = array();
foreach($smile as $key => $v) {
    $keys[] = $key; $values[] = $v;
}
$text = str_replace($keys, $values, $text);

PM MAIL WWW   Вверх
IZ@TOP
Дата 25.3.2009, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата(Elfet @  25.3.2009,  13:41 Найти цитируемый пост)
Всем привет!
Подскажите пожалуйста как в тексте заменить только 10 смайлов?

Привет!

http://ru2.php.net/preg_replace
Цитата

Description
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit= -1 [, int &$count ]] )



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Sanchezzz
Дата 25.3.2009, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Цитата(IZ@TOP @ 25.3.2009,  13:08)
Цитата(Elfet @  25.3.2009,  13:41 Найти цитируемый пост)
Всем привет!
Подскажите пожалуйста как в тексте заменить только 10 смайлов?

Привет!

http://ru2.php.net/preg_replace
Цитата

Description
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit= -1 [, int &$count ]] )

preg_replace  разве поймет массив именованный из символов?

Это сообщение отредактировал(а) Sanchezzz - 25.3.2009, 14:42


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
MoLeX
Дата 25.3.2009, 14:41 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



php.net знает почти все  smile 



--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Sanchezzz
  Дата 25.3.2009, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



чет я не понял с простым str_replace 
Код

$smile_str = array( 0 => "smiles/smile1.gif", 1 => "smiles/smile2.gif");
$smile = array(0=>":)", 1 =>":(");
print str_replace( $smile, $smile_str , ':)  ЫЫЫ  :(  :)' , 10); //если последний аргумент убрать работает с ним нет. 

хотя в доке:
Цитата

Начиная с PHP 5.0.0 количество произведенных замен может быть получено в необязательном аргументе count, который передается по ссылке. В версиях до PHP 5.0.0 этот аргумент недоступен.

Чет я затупил.... туда переменю пихать надо вот значит невнимательность. 

Это сообщение отредактировал(а) Sanchezzz - 25.3.2009, 15:06


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
enof
Дата 25.3.2009, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Цитата(Sanchezzz @  25.3.2009,  15:02 Найти цитируемый пост)
чет я не понял с простым str_replace 

preg_replace

Цитата(bars80080 @  25.3.2009,  13:01 Найти цитируемый пост)
$keys = $values = array();
foreach($smile as $key => $v) {
    $keys[] = $key; $values[] = $v;

http://php.net/array_keys
http://php.net/array_values
PM MAIL ICQ Skype   Вверх
Elfet
Дата 26.3.2009, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Цитата(bars80080 @  25.3.2009,  14:01 Найти цитируемый пост)
$smile = array (
":)" => "smiles/smile1.gif",
":(" => "smiles/smile2.gif",
";)" => "smiles/smile3.gif",
);
$keys = $values = array();
foreach($smile as $key => $v) {
    $keys[] = $key; $values[] = $v;
}
$text = str_replace($keys, $values, $text);

А если ": ) : ) : ) : )  : )  : )  : )  : )  : ) ....." - то заменить всё смайлы.

preg_replace вроде то что надо smile
спасибо.


--------------------
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0534 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.