2014-12-24 2 views
0

У меня возникли проблемы с попыткой дотаминации этого сайта, может быть, вы можете помочь?PHP preg_match не дает результата

$content = file_get_contents('http://store.steampowered.com/app/8190/'); 

$regexp='#<a href="http://store.steampowered.com/search/?category2=2" class="name">(.*?)</a>#'; 
preg_match($regexp,$content,$string1); 

print_r($string1); 

Этот код не работает, может быть, вам это кажется очевидным? Спасибо :)

+1

не может даже получить содержание от: 'Http: // store.steampowered.com/приложение/8190 /' – Rizier123

+0

Я могу эхо $ содержания и весь HTML наклеивается на моем сайте. – JonasRH

+1

Просто уберите точку и вопросительный знак, потому что они имеют особое значение в регулярном выражении. Вот это тату: http://www.regular-expressions.info/ – Toto

ответ

1

Вы не избежали гиперссылки тега, попробуйте следующее:

$regexp='#<a\s+href\s+=\s+"http://store\.steampowered\.com/search/\?category2=2"\s+class\s+=\s+"name">(.*?)</a>#'; 

Вы должны избежать части строки, которые вы не хотите, разобранную в качестве специальных регулярных выражений символов, таких как «?».

+0

Почему вы избегаете всех этих символов? – Toto

+0

1. Потому что, как бы я это сделал, 2. Он учитывает вариации кода, 3 он работает. – Springie

+0

'=' '' '': '' <' '> 'не нужно экранировать. Важными являются' .' и '?'. – Boann

Смежные вопросы