Соответствие URL с использованием preg_match_all в PHP и регулярных выражений - PullRequest
2 голосов
/ 25 февраля 2010

Я пытаюсь создать сканер, который получает URL фильма из списка imdb. Я могу получить все ссылки на странице в массив и хочу выбрать только те, в которых есть заголовок.

preg_match_all($pattern, "[125] => href=\"/chart/2000s?mode=popular\" [126] => href=\"/title/tt0111161/\" ", $matches);

где $pattern='/title/'.

Я получаю следующую ошибку:

Warning: preg_match_all() [function.preg-match-all]: Delimiter must not be alphanumeric or backslash in C:\xampp\htdocs\phpProject1\index.php on line 53

Есть идеи, как это сделать? Большое спасибо.

Ответы [ 2 ]

1 голос
/ 25 февраля 2010

Вы уверены, что $pattern равен '/title/' во время вызова preg_match_all?

Ошибка, которую вы получаете, возникает, когда шаблон, предоставленный preg_match_all (1-й аргумент), не разделен должным образом.

1 голос
/ 25 февраля 2010

Использование DOM Parser :

// Create DOM from URL or file
$html = file_get_html('http://www.example.com/');

// Find all links containing title as part of their HREF 
$links = $html->find('a[href*=title]');

// loop through links and do stuff
foreach($links as $link) { 
       echo $element->href . '<br>';
}

http://simplehtmldom.sourceforge.net/manual.htm

...