0

phpページからすべての URL を抽出するこのビットがあります。

$regex = '/https?\:\/\/[^\" ]+/i';
preg_match_all($regex, $page, $matches);

$links = ($matches[0]);

foreach($links as $link)
{
  echo $link.'<br />';
}

すべてのリンクではなく、特定の部分的な URL に一致するリンクのみを抽出するように変更するにはどうすればよいでしょうか。この場合は次のようになります。 :

http://www.site.com/artist/Nirvana/

http://www.site.com/artist/Jayz/

等々。

4

3 に答える 3

0

これらの URL はどこにありますか? 彼らはウェブページにいますか?これを試して:

http://www.site.com/artist/ .*\b

更新 1:

PHPを使用している場合は、これを試してください:

preg_match_all('%http://www\.site\.com/artist/.*\b%', $html, $urls, PREG_PATTERN_ORDER);
$urls = $urls[0];
于 2013-08-07T01:39:13.733 に答える
0
$regex = 'http:\/\/www.site.com\/artist\/[^" ]+\/';

もちろん、artistパーツの後に何が続くかは、許容可能な入力と見なされるものによって異なります。

文字と数字のみを受け入れる場合は、 を使用して[a-zA-Z0-9]+ください。

于 2013-08-07T01:42:50.703 に答える