-2

次のコードがあります。

$regex='|<a.*?href="(.*?)"|';      //PARSE FOR LINKS
preg_match_all($regex,$result,$parts);
$links=$parts[1];

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

その出力は次のとおりです。

/watch/b4se39an
/watch/b4se39an
/bscsystem
/watch/ifuyzwfw
/watch/ifuyzwfw
/?sort=v
/?sort=c
/?sort=l
/watch/xk4mvavj
/watch/2h7b53vx
/watch/d7bt47xb
/watch/yh953b17
/watch/tj3z6ki2
/watch/sd4vraxi
/watch/f2rnthuh
/watch/ey6z8hxa
/watch/ybgxgay1
/watch/3iaqyrm1
/help/feedback

正規表現を使用して文字列を抽出するにはどうすればよい/watch/.....ですか?

4

1 に答える 1

2

正規表現を変更して、次の制限を含めます/watch/

$regex = '|<a.*?href="(/watch/.*?)"|'; 

簡単なテスト スクリプトで、動作していることを確認できます。

$tests = array( "/watch/something", "/bscsystem");
$regex = '|<a.*?href="(/watch/.*?)"|'; 

foreach( $tests as $test) {
    $link = '<a href="' . $test . '"></a>';
    if( preg_match( $regex, $link))
       echo $test . ' matched.<br />';
}

これにより、次が生成されます。

/watch/something matched.
于 2012-06-04T14:16:55.910 に答える