From e08657d56cc10d2cf45e9e5701856d8a0dc7351e Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Thu, 11 Feb 2010 22:42:36 +0000 Subject: [PATCH] OStatus: correct parsing of georss:point for max interop (commas allowed, whitespace not strictly defined) --- plugins/OStatus/lib/feedmunger.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/OStatus/lib/feedmunger.php b/plugins/OStatus/lib/feedmunger.php index 25b0a09317..927a2fe7a7 100644 --- a/plugins/OStatus/lib/feedmunger.php +++ b/plugins/OStatus/lib/feedmunger.php @@ -269,6 +269,9 @@ class FeedMunger } /** + * Parse location given as a GeoRSS-simple point, if provided. + * http://www.georss.org/simple + * * @param feed item $entry * @return mixed Location or false */ @@ -278,7 +281,10 @@ class FeedMunger $points = $dom->getElementsByTagNameNS('http://www.georss.org/georss', 'point'); for ($i = 0; $i < $points->length; $i++) { - $point = trim($points->item(0)->textContent); + $point = $points->item(0)->textContent; + $point = str_replace(',', ' ', $point); // per spec "treat commas as whitespace" + $point = preg_replace('/\s+/', ' ', $point); + $point = trim($point); $coords = explode(' ', $point); if (count($coords) == 2) { list($lat, $lon) = $coords; -- 2.39.5