Analizar fuentes RSS y Atom con PHP
-
Utilice
implode()
ysimplexml_load_string()
para analizar fuentes RSS en PHP -
Utilice
simplexml_load_file()
para analizar fuentes RSS en PHP
RSS (Really Simple Syndication
) era una fuente popular que permitía a los primeros usuarios de Internet acceder a actualizaciones de sitios web en un formato legible concurrente y consistente, al igual que JSON para las API. Sin embargo, RSS rara vez es popular hoy en día y la última versión estable para el formato fue en 2009, hace 13 años.
Al igual que obtener y leer JSON en PHP o analizar HTML, podemos utilizar funciones integradas de PHP para obtener y analizar fuentes RSS en PHP.
En este artículo, analizamos la biblioteca PHP, que tiene dos funciones integradas que nos ayudarán a analizar RSS en PHP y una función integrada para ayudar con todo el proceso.
Utilice implode()
y simplexml_load_string()
para analizar fuentes RSS en PHP
La biblioteca SimpleXML
contiene toneladas de funciones que pueden trabajar con XML para convertirlas en objetos que podemos usar PHP para manipular. La primera función es simplexml_load_string()
que nos ayudará a analizar las fuentes RSS en PHP.
Para entender cómo analizar la fuente RSS, usaremos esta fuente RSS, The Daily by New York Times, y obtendremos la matriz de todo el contenido que está dentro de la fuente.
La función file()
lee la fuente RSS y devuelve una matriz de todo el contenido, y la función implode()
luego une todos los elementos de la matriz en una cadena y devuelve una cadena.
Este valor de cadena se pasa a simplexml_load_string()
, que interpreta una cadena de XML en un objeto que luego se codifica con la función json_encode()
y se decodifica en una matriz con la función json_decode()
que podemos trabajar con.
<?php
$feed = implode(file('https://feeds.simplecast.com/54nAGcIl'));
$xml = simplexml_load_string($feed);
$json = json_encode($xml);
$array = json_decode($json,TRUE);
var_dump($array);
?>
Producción:
Utilice simplexml_load_file()
para analizar fuentes RSS en PHP
Al igual que simplexml_load_string()
, la función simpleml_load_file()
interpreta un XML.
Sin embargo, el archivo XML interpreta en lugar de la cadena XML en este caso. También devuelve un objeto.
Dado que ambos devuelven los mismos valores, en este código, recorremos el código para seleccionar valores específicos del título, enlace, descripción y fecha de publicación, que se pueden aplicar al fragmento de código anterior.
Para ello, utilizamos la etiqueta channel
, que es un objeto hijo de $xml
, y luego el item[$i]
, que es un nieto de la etiqueta, lo que nos permite obtener acceso a diferentes propiedades (objeto) como título, enlace, etc.
<?php
$url = "https://feeds.simplecast.com/54nAGcIl";
$xml = simplexml_load_file($url);
for ($i = 0; $i < 2; $i++) {
$title = $xml->channel->item[$i]->title;
$link = $xml->channel->item[$i]->link;
$description = $xml->channel->item[$i]->description;
$pubDate = $xml->channel->item[$i]->pubDate;
echo "\nThe Title: " . $title . ".\n";
echo "\nChannel Link: " . $link . ".\n";
echo "\nChannel Description: " . $description . ".\n";
echo "\nDate of Publication: " . $pubDate . ".\n";
}
?>
Producción:
Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedIn