PHP スクリプトによって解析されている注文確認の HTML メールがあります。スクリプトはいくつかのことを正常に実行しますが、メールですべての製品価格を検索し、値が 500 ポンドを超える場合にフラグを設定する方法がわかりません。
基本的には、注文が 500 ポンドを超えた場合にスクリプトから電子メール アラートが送信されるようにしたいと考えています。
以下は私がこれまでに持っているものです。$body は HTML メールの内容です。他のルールが適切に設定されているため、その部分が機能することはわかっています。私の問題は preg_match の $pattern ルールだと思います - 価格値を正しく識別しているとは思いません。
$body で £xx.xx (各 x は数字) の形式のものを検索し、£500 より大きい値が見つかった場合は $temp に 1 を追加する方法はありますか? 私はこれを解決することはできません...
if (stristr($body,'Order Confirmation') !== false) {
$string = $body;
$pattern = '/^[0-9]{1,}$/';
preg_match ($pattern, $string, $matches);
$temp = array_filter($matches, function($value) {
return $value >= 500;
});
if ($temp >= 1)
{
$headers = "Content-type: text/html \r\n";
$headers .= "From: Robot<robot@robot.com>";
mail('joe@blogs.com','Internet Order Value Over £500', $body, $headers);
}
}