スポーツのスコアで RSS フィードを分解しようとしています
サンプルデータ
San Diego 4 Chicago Cubs 2
Miami 2 Philadelphia 7
Boston 3 Toronto 1
Washington 3 Atlanta 1
Chicago Sox 3 Texas 1
St. Louis 6 Milwaukee 5
RSS は基本的に 1 つの流れるような文字列を提供San Diego 4 Chicago Cubs 2
し、より適切に使用するためにそれを分解しようとしています。
基本的に、最初に、 、、 の4San Diego 4 Chicago Cubs 2
つの変数に分割しようとしています。$home_team
$home_score
$away_team
$away_score
しかし、明らかに、ホーム チームは 1 語以上である可能性があり、スコアは 1 桁または最大 3 である可能性があるため、これを正しい形式で分割するための最適な正規表現を見つけようとしています。
誰にもアイデアはありますか?
アップデート
私が実際にこれを使用しているコードは、今日、mlb ゲームの xml を取得し、Final というラベルが付けられたゲームだけを除外して、Final スコアを意味し、そこからさらに分解しようとしています..
<?php
$xml = simplexml_load_file("http://feeds.feedburner.com/mpiii/mlb?format=xml");
foreach($xml->channel->item as $item){
if(preg_match('/(FINAL)/', $item->title, $matches) || preg_match('/(POSTPONED)/', $item->title, $matches)){
if(preg_match('/(POSTPONED)/', $item->title, $matches)){
continue;
}
$string = $item->title;
$patterns = array();
$patterns[0] = '/\\(FINAL\\)/';
$patterns[1] = '/\\(POSTPONED\\)/';
$replacements = array();
$replacements[1] = '';
$replacements[0] = '';
$string = preg_replace($patterns, $replacements, $string);
$keywords = preg_match("^(.*?) ([0-9]{1,3}) (.*?) ([0-9]{1,3})$", $string);
echo $keywords[1]."<br/>";
}
}
?>