diff --git a/index.php b/index.php index 38ec6c1..e57fc2b 100755 --- a/index.php +++ b/index.php @@ -21,10 +21,17 @@ function get_title_from_feed($url) function get_link_from_feed($url) { // get site link from feed - $validator = "http://validator.w3.org/feed/check.cgi";$validator .= "?url=".$url;$validator .= "&output=soap12"; - $response = file_get_contents($validator);$a = strpos($response, '', 0)+12;$b = strpos($response, '', $a);$result = substr($response, $a, $b-$a); - if($result == "false") { die('le flux n\'a pas une syntaxe valide'); } $data = file_get_contents("$url"); + $xml = simplexml_load_string($data); // quick feed check + if (isset($xml->entry)) // ATOM feed. + {$result="true";} + elseif (isset($xml->item)) // RSS 1.0 /RDF + {$result="true";} + elseif (isset($xml->channel->item)) // RSS 2.0 + {$result="true";} + else + {$result="false";} + if($result == "false") { die('le flux n\'a pas une syntaxe valide'); } $check = substr($data, 0, 5); if($check !== '', 0)+12;$b = strpos($response, '', $a);$result = substr($response, $a, $b-$a); +$xml = simplexml_load_file($rssurl); // quick feed check +if (isset($xml->entry)) // ATOM feed. + {$result="true";} +elseif (isset($xml->item)) // RSS 1.0 /RDF + {$result="true";} +elseif (isset($xml->channel->item)) // RSS 2.0 + {$result="true";} +else + {$result="false";} /* autoblog */ if($social==FALSE and $result!=="false")