我有一個RSS閱讀器正在閱讀。我需要從此Feed中的字段中檢索某些數據。如何從RSS提要中的描述字段捕獲某些數據?
這是例如飼料數據:
<content:encoded><![CDATA[
<b>When:</b><br />
Weekly Event - Every Thursday: 1:30 PM to 3:30 PM (CT)<br /><br />
<b>Where:</b><br />
100 West Street<BR>2nd floor<BR>Gainesville<BR>
<br>.....
如何我拉出來當數據:和其中:分別?我試圖使用正則表達式,但我不確定如果我沒有正確訪問數據或如果我的正則表達式是錯誤的。我沒有設置使用正則表達式。
這是我的代碼:
foreach ($x->channel->item as $event) {
$eventCounter++;
$rowColor = ($eventCounter % 2 == 0) ? '#FFFFFF' : '#F1F1F1';
$content = $event->children('http://purl.org/rss/1.0/modules/content/');
$contents = $content->encoded;
echo '<tr style="background-color:' . $rowColor . '">';
echo '<td>';
//echo "<a id=buttonRed href='$event->link' title='$event->title' target='_blank'>" . $event->title . "</a>";
echo "" . $event->title . "";
echo '</td>';
echo '<td>';
$re = '%when\:\s*</b>\s*(.|\s)<br \/><br \/>$/i';
if (preg_match($re, $contents, $matches)) {
$date = $matches;
}
echo $date;
echo '</td>';
echo '<td>';
$re = '/^When\:<\/b>()$/';
if (preg_match($re, $contents, $matches)) {
$location = $matches;
}
echo $location;
echo '</td>';
echo '<td>';
echo "<a id=buttonRed href='$event->link' title='$event->title' target='_blank'>Click Here To Register</a>";
echo '</td>';
echo '</tr>';
}
兩個$資源只是我試圖讓出來的數據使用不同的正則表達式的表達式。讓我知道我要去哪裏錯了。謝謝
不要冷靜地對待他。他說他沒有和正規表達式結婚。只要告訴他你會怎麼做。 – 2012-02-08 17:49:14
謝謝,正如喬納森所說。我不是說我必須使用正則表達式。我首先嚐試了一些strpos,但沒有正確加載。我只想知道如何獲得這些特定的數據領域。 – wiseman7687 2012-02-08 17:53:48
@JonathanM:他之前被告知。 http://stackoverflow.com/questions/7969090/preg-match-help-cannot-read-string-from-email – mario 2012-02-08 17:57:03