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. Sanek_OS9 - 06 Декабря, 2014 - 19:04:35 - перейти к сообщению
Здравствуйте, помогите пожалуйста сделать следующую регулярку, есть строка: ::afro:1417885050 ::aksakal:1417885054 ::alien:1417885058 ::angel:1417885061 ::anime:1417885064 ::anime2:1417885070 ::anime4:1417885073 ::anonym:1417885076 ::catwoman:1417885080 ::chaplin:1417885084
Есть переменная $search которая к примеру равна alien. Как мне получить время что возле этого значения? А именно вот это ::alien:1417885058? Огорчение
2. DeepVarvar - 06 Декабря, 2014 - 19:14:49 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. preg_match_all('/' . preg_quote($search, '/\\.[]{}') . ':(?<found>[^:]+)/s', $string, $match);
  2. var_dump($match['found']);

Не проверял
3. Sanek_OS9 - 06 Декабря, 2014 - 19:16:03 - перейти к сообщению
Так будет верно?
PHP:
скопировать код в буфер обмена
  1. $str = ::afro:1417885050 ::aksakal:1417885054 ::alien:1417885058 ::angel:1417885061 ::anime:1417885064 ::anime2:1417885070 ::anime4:1417885073 ::anonym:1417885076 ::catwoman:1417885080 ::chaplin:1417885084 ;
  2. $icon = 'alien' ;
  3. echo preg_replace("/.+$icon:([0-9]+).+/i", '$1', $str) ;

Выводит то что нужно Хорошо

 

Powered by ExBB FM 1.0 RC1