feedfinder.php
adaptation en php de feedfinder.py :
"""Ultra-liberal feed finder, de Mark Pilgrim http://diveintomark.org/projects/feed_finder/ Par: courcy.michael@wanadoo.fr
adaptation en php, je ne reprends qu'une partie de cette algorithme
- A chaque etape on verifie si les feed indiques sont reellement des feeds
- Si l'uri passe est un feed on retourne le resultat tout simplement
- Si le header de la page contient des balises LINK qui renvoient vers des feed on les retourne
- on cherche les liens qui se termine par ".rss", ".rdf", ".xml", ou ".atom"
- on cherche les liens contenant "rss", "rdf", "xml", ou "atom"
j'integre pas l'interrogation avec xml_rpc de syndic8, mais on peut le faire assez facilement dans la phase de test sur differentes url je n'ai constate aucune diffrerence entre les reponses donnees par feedfinder.py et les miennes donc je ne suis pas sur de voir l'interet
Je ne me preoccupe pas comme l'auteur de savoir si mes liens de feed sont sur le meme serveur ou pas
exemple d'utilisation
print_r (get_feed_from_url("http://willy.boerland.com/myblog/"));
on obtient
Array ( [0] => http://willy.boerland.com/myblog/atom/feed [1] => http://willy.boerland.com/myblog/blogapi/rsd [2] => http://willy.boerland.com/myblog/rss.xml [3] => http://willy.boerland.com/myblog/node/feed )
Table of Contents
Functions
- is_feed() : string|0
- une fonction qui permet de si un lien est un feed ou nom, si c'est un feed elle retourne son type, si c'est pas un feed elle retourne 0, cette verification est évidemment très très légère
- get_feed_from_url() : array<string|int, mixed>
- fonction sans finesse mais efficace on parcourt ligne par ligne a la recherche de balise <a> ou <link> si dans le corps de celle-ci on trouve les mots rss, xml, atom ou rdf alors on recupere la valeur href='<url>', on adapte celle-ci si elle est relative et on verifie que c'est bien un feed si oui on l'ajoute au tableau des feed si on ne trouve rien ou si aucun feed est trouve on retourne un tableau vide
Functions
is_feed()
une fonction qui permet de si un lien est un feed ou nom, si c'est un feed elle retourne son type, si c'est pas un feed elle retourne 0, cette verification est évidemment très très légère
is_feed(string $url) : string|0
Parameters
- $url : string
-
URL à analyser
Return values
string|0 —Retourne son type (rss|atom|rdf) ou 0 si pas feed
get_feed_from_url()
fonction sans finesse mais efficace on parcourt ligne par ligne a la recherche de balise <a> ou <link> si dans le corps de celle-ci on trouve les mots rss, xml, atom ou rdf alors on recupere la valeur href='<url>', on adapte celle-ci si elle est relative et on verifie que c'est bien un feed si oui on l'ajoute au tableau des feed si on ne trouve rien ou si aucun feed est trouve on retourne un tableau vide
get_feed_from_url(string $url[, mixed $buffer = false ]) : array<string|int, mixed>
Parameters
- $url : string
-
L'URL à analyser
- $buffer : mixed = false
Return values
array<string|int, mixed> —Le tableau des feed trouvés dans la page