LoginSignup
1
1

More than 5 years have passed since last update.

在庫表示 OR 売り切れ を正規表現一発でスクレイピングする

Last updated at Posted at 2016-09-10

需要があるのかわからないけど書きますw
タイトルの付け方次第かなぁ……。

ショッピングサイトから、在庫があればその数。無ければ 0 をスクレイピングしたい場合。
単純に、在庫があれば「在庫 12」、無ければ「在庫 0」と言う表示があればいいけど、意外と無くて、例えば「SOLD OUT」という表示になってしまう、というケース。

preg_match( '/在庫 ([0-9]+)|(SOLD OUT)/' , $src, $match );

$stock = $match[1];

後ろのSOLD OUTにも()をつけるのがポイントです。
こうすると、$match[1] には在庫数、$match[2] にはSOLD OUTを入れようとしてくれて、実際に「SOLD OUT」になったときに、$match[1] には '' を返してきます。(これがないと、SOLD OUT時には[1]インデックスが無い!とエラーになります。)

以上おわり。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1