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. onekill - 25 Июня, 2013 - 18:11:28 - перейти к сообщению
Вообщем не важно дурацкая она или нет и можно ли сократить, тут не подсказывайте, слабы пока что знания, но вот в чём суть:

Есть код:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.     $page = file_get_contents("http://www.heroeswm.ru/clan_info.php?id=5390");
  3.     $page = iconv("windows-1251", "UTF-8", "$page");
  4.     preg_match_all("/<a href=\"map.php\?cx=[0-9]{1,}&cy=[0-9]{1,}\">.*?[0-9]{1,3}%</", $page, $clans);
  5.     var_dump($clans);
  6. ?>


Возвращает пустой массив.

Если же я не меняю кодировку на юникод то всё работает отчасти, но естественно так называемые кракозыбры.

Прошу помощи.
2. Denkill - 25 Июня, 2013 - 18:14:31 - перейти к сообщению
Мне вот что возвращает.
CODE (htmlphp):
скопировать код в буфер обмена
  1. Array ( [0] => Array ( [0] => Lizard Lowland-С1#57 Кузница кинжалов90%< [1] => Lizard Lowland-С2#56 Рудник99%< [2] => Shining Spring-В3#114 Завод шлемов мага80%< ) )
3. onekill - 25 Июня, 2013 - 18:18:55 - перейти к сообщению
Denkill пишет:
Мне вот что возвращает.
CODE (htmlphp):
скопировать код в буфер обмена
  1. Array ( [0] => Array ( [0] => Lizard Lowland-С1#57 Кузница кинжалов90%< [1] => Lizard Lowland-С2#56 Рудник99%< [2] => Shining Spring-В3#114 Завод шлемов мага80%< ) )



Даже при смене кодировки?
4. esterio - 25 Июня, 2013 - 18:27:50 - перейти к сообщению
ну если уж хочется UTF-8, то
Цитата:
/<a href=\"map.php\?cx=[0-9]{1,}&cy=[0-9]{1,}\">.*?[0-9]{1,3}%</isu

?
5. Denkill - 25 Июня, 2013 - 18:35:51 - перейти к сообщению
onekill пишет:
даже при смене кодировки

да
6. onekill - 25 Июня, 2013 - 20:41:55 - перейти к сообщению
esterio пишет:
ну если уж хочется UTF-8, то
Цитата:
/<a href=\"map.php\?cx=[0-9]{1,}&cy=[0-9]{1,}\">.*?[0-9]{1,3}%</isu

?



Кстати вот полная регулярка я ошибся:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.     $page = file_get_contents("http://www.heroeswm.ru/clan_info.php?id=5390");
  3.     $page = iconv("windows-1251", "UTF-8", "$page");
  4.     preg_match_all("/(<a href=\"map\.php\?cx=\w{2}&cy=\w{2}\">([a-zA-Z ]*)-<b>([А-Я])<\/b>(\w)<\/a>)<\/a><\/td><[^<]*.*?#([0-9]{1,3}) ([^<]*).*?([0-9]{1,3})%/", $page, $clans);
  5.     var_dump($clans);
  6. ?>

 

Powered by ExBB FM 1.0 RC1