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
Форумы портала PHP.SU :: Версия для печати :: Напишите парсер
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Напишите парсер

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

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

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

напишите хотябы по кусочкам как это сделать, с меня лайк х)
2. DeepVarvar - 05 Января, 2015 - 22:45:27 - перейти к сообщению
Если это разные строки:
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 пишет:
с меня лайк х)
С тебя два, х)
3. grafillo - 06 Января, 2015 - 09:18:19 - перейти к сообщению
фигасе, оно работает!
Спасип!
как и обещал поставил лайк х)

 

Powered by ExBB FM 1.0 RC1