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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите написать регулярное выражение, preg_match "//1234" 
V
    Опции темы
fleetboss
Дата 11.4.2010, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Помогите написать регулярное выражение. Например пользователь пишет сообщение: "Всем привет //145 как у вас дела? //492 блаблабла //056" или "всем спасибо //135 //412 //356". Текст например //145 будет переделывать в сообщение на определеный смайлик. Как сделать запрос отсылания сообщения если в тексте больше 3 смайликов?

Написал вот так, не хочет работать:
Код
if (preg_match("/^\//[_\.0-9]{1,}\//[_\.0-9]{1,}\//[_\.0-9]{2,}$/i",$_POST['text'])){ return; }


Помогите мне правельно его написать )

Это сообщение отредактировал(а) fleetboss - 11.4.2010, 17:13
PM MAIL   Вверх
skyboy
Дата 11.4.2010, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



рекомендую использовать preg_replace_callback.
типа так:
Код

 function replaceSmiles_callback($smileId) {
    $smiles = array();
    $smiles['1'] = 'sad.gif';
    $smiles['2'] = 'smile.gif';
    $smiles['3'] = 'spy.gif';
    $smiles['4'] = 'doomy.gif';
    $smiles['5'] = 'glad.gif';
    $smiles['6'] = 'crazy.gif';
    return '<img src="img/smiles/' . $smiles[$smileId[1]] . '" />';
 }
 $text = '231313 //2 //3 dfsdfgg 545 dfg //2';
 echo preg_replace_callback('#//([0-9]+)#', 'replaceSmiles_callback', $text);


PM MAIL   Вверх
fleetboss
Дата 11.4.2010, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Спасибо за выше написаное, но я немного неправельно выразился smile
Как сделать запрет отсылания сообщения, если в нем больше 3 смайликов?
PM MAIL   Вверх
NLspieler
Дата 11.4.2010, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

<?
$text = '231313 //2 //3 dfsdfgg 545 dfg //2';
preg_match_all ('#//[0-9]+#' , $text , $matches) ;
$count = count ($matches[0]) ; //Найдено будущих смайлов
echo $count ;
?>

PM MAIL   Вверх
fleetboss
Дата 11.4.2010, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Спасибо за ответы! Тему можно закрывать
PM MAIL   Вверх
NewDima
Дата 12.4.2010, 06:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



Цитата(php.net @  x.xx.xxxx,  XX:XX)

preg_match_all — Perform a global regular expression match
...
Returns the number of full pattern matches (which might be zero), or FALSE if an error occurred. 

PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0446 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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