人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

phpのpreg_matchにて正規表現によるマッチングを行ないます。取得してあるhtmlより、.pdfをマッチングしたいです。具体的には <a href="http://www.xxx.com/xxx.pdf">ぴーでーえふ</a> のhttp://www.xxx.com/xxx.pdfのみをマッチングしたいです。preg_matchを書いてください

●質問者: sitterutsumori
●カテゴリ:インターネット ウェブ制作
✍キーワード:HTML PDF PHP マッチング 正規表現
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● うぃんど
●27ポイント

preg_match_all のほうが良いかもしれないので preg_match と両方のテストケースを書いてみました。比較してみてください

<?php
$a=<<<Eot
<a name="a" href="http://www.xxx.com/xxx.pdf" style="">ぴーでーえふX</a>
<a href = "http://www.xxx.com/yyy.pdf" name="b">ぴーでーえふY</a>
Eot;
preg_match( '|<a.+href\s*=\s*"(.*?)".+?>|', $a , $m );
print_r( $m );
preg_match_all( '|<a.+href\s*=\s*"(.*?)".+?>|', $a , $m );
print_r( $m );
◎質問者からの返答

それだと.pdf以外も拾いませんか?


2 ● tasklight
●10ポイント

こんな感じになるでしょう。

preg_match("/http:\/\/.*\.pdf\">/i", $html);
◎質問者からの返答

無理でした


3 ● うぃんど
●43ポイント ベストアンサー

ごめんなさい。拡張子.PDFだけに対応させる部分を抜かしておりました

(大文字小文字への両対応として i も付け加えておきました)

(コメント欄では文字化けしそうなので回答欄で失礼しています)

<?php
$a=<<<Eot
<a name="a" href="http://www.xxx.com/xxx.Pdf" style="">ぴーでーえふX</a>
<a href = "http://www.xxx.com/yyy.pdf" name="b">ぴーでーえふY</a>
Eot;
preg_match( '|<a.+href\s*=\s*"(.*?\.pdf)".+?>|i', $a , $m );
print_r( $m );
preg_match_all( '|<a.+href\s*=\s*"(.*?\.pdf)".+?>|i', $a , $m );
print_r( $m );
◎質問者からの返答

ありがとうございます

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ