需要があるのかわからないけど書きます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]インデックスが無い!とエラーになります。)
以上おわり。