Twitter フィードをループしており、コード内のすべてが正常に動作していますが、1 つのことに苦労しています。一番下の if ステートメントは、今日の日付を持つすべてのメッセージを返します。それに基づいて、テストしようとしている正規表現パターンがあります。見つかった場合は「見つかった」と記載し、そうでない場合は「見つかりません」と記載します。私が助けを必要としているのは、見つからない部分です。メッセージごとに「見つかりません」と述べるのではなく、メッセージをループして、見つかった場合は「見つかった」状態ですべてを停止するようにするにはどうすればよいですか。完了状態「見つかりません」は 1 回だけです。
$dom = new DOMDocument();
@$dom->loadHTMLFile('http://api.twitter.com/1/statuses/user_timeline.rss?screen_name=google');
$xml = simplexml_import_dom($dom);
$twitter = $xml->xpath("//item");
foreach ($twitter as $item) {
$timezone = new DateTimeZone('America/Los_Angeles');
$date = new DateTime($item->pubdate);
$date->setTimeZone($timezone);
$twitter_date = $date->format("F j Y");
$todays_date = date("F j Y");
if ($twitter_date == $todays_date) {
$text = $item->title;
$pattern = '/\s\d\s\d/i';
if (preg_match($pattern, $text, $codes)) {
if (isset($codes[0])) {
echo 'found it!';
}
} else {
echo 'not found';
}
}
}