[PHP-users 31335] Re: (自己解決) 正規表現でアンカータグ内の要素を取得

luna na luna2ti @ hotmail.com
2007年 1月 29日 (月) 17:51:29 JST


るなです。

大変失礼しました。

$URL_pattern = "/\s+href\s*=\s*([\"\']?)([^\s\"\'>]+)(\\1)/ims";
で取得できました。

お騒がせ致しました。



>From: "luna na" <luna2ti @ hotmail.com>
>Reply-To: PHP-users ML <php-users @ php.gr.jp>
>To: php-users @ php.gr.jp
>Subject: [PHP-users 31333] 正規表現でアンカータグ内の要素を取得
>Date: Mon, 29 Jan 2007 17:18:15 +0900
>
>はじめまして。るなと申します。
>
>php初心者です。
>
>preg_match_allでうまく取得できないので、
>皆様のお知恵を拝借できればと思います。
>
>行いたい処理は、
>htmlのアンカータグから
>1.アンカータグが正しいか?
>2.アンカータグからURLを取得
>です。
>そこで、下記ソースで処理を行いました。
>
>=============  ソース==================
>
>$URL_pattern = "/\s+href\s*=\s*([\"\']?)([^\s
>\"\'>]+)([\\1])/ims";
>preg_match_all($URL_pattern, $atag, $matches, PREG_SET_ORDER);
>
>echo "part 0: ".$matches[0][0]."\n";
>echo "part 1: ".$matches[0][1]."\n";
>echo "part 2: ".$matches[0][2]."\n";
>echo "part 3: ".$matches[0][3]."\n";
>
>if($matches[0][1] == $matches[0][3]) {
>     echo  "OK";
>}
>====================================
>$atagにはページから取得したアンカータグが入ります。
>上記処理で、例えば$atagに下記タグを入れるとして、
>
>A:<a href="http://www.xxx.jp ">
>B:<a href=" http://www.xxx.jp >
>
>AはOK、Bは終わりのダブルクォートがないためNG
>というようにしたいのですが、
>
>Aの結果----------------------
>part 0: href=" http://www.xxx.jp
>part 1: "
>part 2: http://www.xxx.jp
>part 3:
>--------------------------------
>Bの結果----------------------
>part 0: href=" http://www.xxx.jp
>part 1: "
>part 2: href=" http://www.xxx.jp
>part 3:
>--------------------------------
>
>となって、結果が同じになります。
>part1とpart3にはURLを囲んでいる「ダブル、シングルクォート、又は何もなし」
>というパターンが入るようにして、OKかどうか判断出来るようにし たら
>望む処理ができそうな気がするので、
>最初のマッチさせる正規表現をうまく書けばできそうなのですが
>色々試してみてもだめでした。。。
>
>どなたかご教授頂けますでしょうか。
>
>宜しくお願い致します。
>
>るな
>
>_________________________________________________________________
>大切なPCが風邪引く前に、ウィルス対策をしっかりと! http://onecare.live.jp
>
>_______________________________________________
>PHP-users mailing list  PHP-users @ php.gr.jp
>http://ml.php.gr.jp/mailman/listinfo/php-users
>PHP初心者のためのページ - 質問する前にはこちらをお読みください
>http://www.php.gr.jp/php/novice.php3

_________________________________________________________________
Windows Live & Windows Vista の最新情報を更新中 http://promotion.live.jp/ 



PHP-users メーリングリストの案内