Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Напишите парсер

 PHP.SU

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


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

> Без описания
grafillo
Отправлено: 05 Января, 2015 - 20:44:08
Post Id


Посетитель


Покинул форум
Сообщений всего: 280
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




Нужно преобразовать, вот такого типа строки:
CODE (htmlphp):
скопировать код в буфер обмена
  1. [10:44] SOVA : го в приват,ибо скучно,только проснулся)
  2. [10:44] *** няшка*** : Дима нашол чем хвастатся

в
CODE (htmlphp):
скопировать код в буфер обмена
  1. <bot login="SOVA" >
  2.  го в приват,ибо скучно,только проснулся)</bot>
  3. <bot login="*** няшка***" >
  4. Дима нашол чем хвастатся</bot>

напишите хотябы по кусочкам как это сделать, с меня лайк х)

(Отредактировано автором: 05 Января, 2015 - 21:06:24)

 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Января, 2015 - 22:45:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Если это разные строки:
PHP:
скопировать код в буфер обмена
  1. $str1 = ' [10:44] SOVA : го в приват,ибо скучно,только проснулся) ';
  2. $str2 = ' [10:44] *** няшка*** : Дима нашол чем хвастатся ';
  3.  
  4. $p = '/[^\]]+\]\s*([^:]+)\s+:(.*)/s';
  5. $r = '<bot login="$1">$2</bot>';
  6. $str1 = preg_replace($p, $r, $str1, 1);
  7. $str2 = preg_replace($p, $r, $str2, 1);
  8. var_dump($str1, $str2);


Если это все в одной строке:
PHP:
скопировать код в буфер обмена
  1. $str = ' [10:44] SOVA : го в приват,ибо скучно,только проснулся)
  2. [10:44] *** няшка*** : Дима нашол чем хвастатся ';
  3.  
  4. function replaceMessages($m)
  5. {
  6.     $p = '/[^\]]+\]\s*([^:]+)\s+:(.*)/s';
  7.     $r = '<bot login="$1">$2</bot>';
  8.     return preg_replace($p, $r, $m[0], 1);
  9. }
  10.  
  11. $str = preg_replace_callback('/\[[^\[]+/', 'replaceMessages', $str);
  12. var_dump($str);


grafillo пишет:
с меня лайк х)
С тебя два, х)
 
 Top
grafillo
Отправлено: 06 Января, 2015 - 09:18:19
Post Id


Посетитель


Покинул форум
Сообщений всего: 280
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




фигасе, оно работает!
Спасип!
как и обещал поставил лайк х)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB