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 :: Версия для печати :: Perl-совместимое выражение для поиска ip-адресов
Форумы портала PHP.SU » PHP » Регулярные выражения » Perl-совместимое выражение для поиска ip-адресов

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

1. SindBAD - 27 Мая, 2008 - 11:35:21 - перейти к сообщению
Здравствуйте, форумчане! Понадобилось составить выражение для поиска IP-адресов в разных источниках. Логику понимаю, но заставить его работать никак не могу Улыбка
Должно быть что-то вроде:
(1-3цифры+точка)3раза+(1-3цифры)... Прошу помочь составитьУлыбка заранее спасибо!
2. EuGen - 27 Мая, 2008 - 11:55:24 - перейти к сообщению
Например, так:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
  3.  
3. SindBAD - 27 Мая, 2008 - 12:32:41 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $a = file_get_contents('Anonymous.html');
  4.  
  5. preg_match_all("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", $a, $matches);
  6.  
  7. for($i = 0; $i < count($matches[1]); $i++)
  8. {
  9.     echo $matches[1][$i], '<br />';
  10. }
  11. ?>
  12.  

Warning: preg_match_all() [function.preg-match-all]: Unknown modifier '{' in Z:\home\test1.ru\www\test.php on line 4
когда заключаю выражение в слэши, предупреждение не выводит, но адреса не читает.
вот такой вариант
CODE (text):
скопировать код в буфер обмена
  1. /[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}/
тоже ничего не дает Недовольство, огорчение
4. EuGen - 27 Мая, 2008 - 12:42:28 - перейти к сообщению
Проверил:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $text="123.45.67.89 werfsdfadfs 45.37.21.4 rwerwer trweef";
  4. $pattern="/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/";
  5. $matches=array();
  6. preg_match_all($pattern, $text, $matches);
  7. print_r($matches);
  8. ?>
  9.  

Результат:
PHP:
скопировать код в буфер обмена
  1.  
  2. (
  3.     [0] => Array
  4.         (
  5.             [0] => 123.45.67.89
  6.             [1] => 45.37.21.4
  7.         )
  8.  
  9. )
  10.  
5. SindBAD - 27 Мая, 2008 - 13:45:15 - перейти к сообщению
Спасибо большое! Не догадался проверить, куда именно они записываютсяУлыбка теперь работает

 

Powered by ExBB FM 1.0 RC1