PHP ve regex preg_match_all kullanarak URL eşleştirme

2 Cevap php

Ben bir imdb listesinden film adresler alır bir tarayıcı oluşturmaya çalışıyorum. Ben bir diziye sayfadaki tüm linkler almak mümkün duyuyorum ve onlara "başlığı" Sadece bu olanları seçmek istiyorum.

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

burada $pattern='/title/'.

Ben şu hatayı alıyorum:

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

Bu konuda gitmek nasıl herhangi bir fikir? Çok teşekkürler.

2 Cevap

Kullanın 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

Emin misin $pattern preg_match_all denir zamanda '/title/' nedir?

Desen düzgün sınırlandırılmış değildir (1. argüman) preg_match_all sağlanan zaman alıyorsanız hata geliyor.