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. Tox - 18 Августа, 2012 - 12:16:00 - перейти к сообщению
Без регулярок не обойтись, это точно.
Есть строки такого типа:
CODE (htmlphp):
скопировать код в буфер обмена
  1. 11/02/2012 - 12:48:00: [SERVER_HISTORY_LOG] Admin ADMINNAME [ADMIN_ID_NNN] Executed :  command

SERVER_HISTORY_LOG - не меняется, это название журнала
ADMINNAME [ADMIN_ID_NNN] - меняется, тут могут быть разные символы, название учетки юзера
Надо:
Убрать из строки
CODE (htmlphp):
скопировать код в буфер обмена
  1. : [SERVER_HISTORY_LOG] Admin ADMINNAME [ADMIN_ID_NNN] Executed

То есть должно остаться:
CODE (htmlphp):
скопировать код в буфер обмена
  1. 11/02/2012 - 12:48:00:  command

Я пробовал str_replace с заменой на "", но это не прокатывает, так как имена учеток разные
2. Stivir - 18 Августа, 2012 - 16:32:18 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. $rick = "11/02/2012 - 12:48:00: [SERVER_HISTORY_LOG] Admin ADMINNAME [ADMIN_ID_NNN] Executed :  command";
  3. $needle = "#[\d]{2}\/[\d]{2}\/[\d]{4}\s-\s[\d]{2}:[\d]{2}:[\d]{2}:\s|command#i";
  4. preg_match_all($needle, $rick, $matches);
  5.  
  6. print_r($matches);
  7.  
3. Tox - 18 Августа, 2012 - 18:49:54 - перейти к сообщению
Спасибо

 

Powered by ExBB FM 1.0 RC1