[PHP-users 34212] Re: preg_match_allでの正規表現について

take t.takeyoshi @ gmail.com
2008年 12月 23日 (火) 18:34:20 JST


shin-1さま


ご助言ありがとうございました。
ご指摘の通り

$pattern = "/<form name=\"Aform\".*?<\/form>/is";
preg_match_all($pattern,$html,&$matches);

と「*?」で最短一致と指定することで解決いたしました。

ありがとうございました。


2008/12/23 18:15  <shin-1 @ ca2.so-net.ne.jp>:
>  こんばんは。shin-1です。
>
> .* を .*? と変えてみてください。
>
> *は「できるだけ大きくマッチ」しようとしますが
> *?とすることで「できるだけ短くマッチ」しようとします。
>
>>$html = すべてのHTMLソース;
>>
>>$matches = array();
>>$pattern = "/<form name=\"Aform\".*</form>/is";
>>preg_match_all($pattern,$html,&$matches);
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3
>


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