2011-10-23 6 views
0

PHPの正規表現を使用してウェブページからURLを取得しようとしています。PHP:正規表現から一致する部分のみを取得する

私はこれをやっている:

これは、URLのしかし、私はまた、取得したコードを返すに働く
preg_match_all('/"r"><a href="http:.*?"/i',$Rec_Data, $stuff); 

は私が望んでいない:

"r"><a href="http://www.cbsnews.com/stories/2002/12/03/politics/main531460.shtml" 

私は取り除くことはできません」 r "と" a "タグを含む。私はそれが必要なので、私はURLの私はしたくないです。 "。*?"でマッチした部分だけを取得する方法?

+0

[href php] [http://stackoverflow.com/questions/5262682/extract-all-urls-href-php] – Gordon

+0

[href php]のhref属性を取得するための[要素](http://stackoverflow.com/questions/3820666/regular-expression-for-grabbing-the-href-attribute-of-an-a-element/3820783#3820783) – Gordon

+0

可能な複製[preg_matchすべてのhref](http://stackoverflow.com/questions/1519696/preg-match-all-a-href) – Gordon

答えて

3

capturing groupを使用して、結果の2番目の要素を使用します。

preg_match_all('/"r"><a href="(http:.*?)"/i',$Rec_Data, $stuff); 

は、それがオンラインで作業を参照してください:ideone

また、あなたがHTMLを解析するHTML parserを使用することを検討したい、代わりのかもしれません正規表現。

+0

+1 - 時間通りに私を打つ;) –

+0

働いていない。私はまだ不必要な部分を取得します。 – SrgHartman

+0

@SrgHartman:「うまくいかない」とはどういう意味ですか?私はあなたがそれが動作することを見ることができるオンラインデモへのリンクを投稿しました... –

関連する問題