Es sencillo, pero llevo investigando y problando y no hay manera.
Tengo un archivo .PHP que se encarga de recojer las entradas publicadas en un feed cualquiera y acorto dichos titulos limitandolos por el principio y por el final del titulo, quedando así solo lo que me interesa del feed.
Dejo el código para que lo veáis directamente:
Código:
Pongo un ejemplo, para hacerlo entender...<?php $doc = new DOMDocument('1.0', 'utf-8'); //Creamos los elementos que va a tener el RSS $rss = $doc->createElement('rss'); $channel = $doc->createElement('channel'); $c_title = $doc->createElement('title', 'el sitio'); $c_link = $doc->createElement('link', 'http://www.web.com'); $c_descripcion = $doc->createElement('description', 'descripcion del sitio web'); $c_language = $doc->createElement('language', 'es'); //Agregamos todos los hijos $doc->appendChild($rss); $rss->appendChild($channel); $channel->appendChild($c_title); $channel->appendChild($c_link); $channel->appendChild($c_descripcion); $channel->appendChild($c_language); //Agregamos un atributo al rss $rss->setAttribute('version', '2.0'); //Esto es lo que tienes $xml = new SimpleXMLElement('http://www.web.com/direcciondelfeedquecojo.xml', null, true); foreach ($xml->channel->item as $titulo) { $eqs = explode('medio', $titulo->title); $eqs1 = explode('Primerapalabra ', $eqs[0]); $eq1 = $eqs1[1]; $eq2 = explode(' palabrafinal', $eqs[1]); $eq2 = $eq2[0]; //Agregamos item y un hijo title dinámicamente $item = $doc->createElement('item'); $i_title = $doc->createElement('title', "$eq1 cambio $eq2"); $item->appendChild($i_title); $channel->appendChild($item); } //Guardamos el rss, manejalo como quieras aqui $m = fopen('feed.xml', 'w+'); fwrite($m, $doc->saveXML()); fclose($m);
El feed que utilizo que en este caso como indica el codigo sería "http://www.web.com/direcciondelfeedquecojo.xml", se muestra de la siguiente manera (titulos del feed):
- Primerapalabra 123 medio 456 palabrafinal (titulo 1)
- Primerapalabra 543 medio 210 palabrafinal (titulo 2)
- Primerapalabra 432 medio 765 palabrafinal (titulo 3)
Bueno, pues con dicho código creo un archivo aqui "http://miweb.com/feed.xml".
Este archivo se mostraria de la siguiente manera:
- 123 cambio 456 (titulo 1)
- 543 cambio 210 (titulo 2)
- 432 cambio 765 (titulo 3)
Hasta ahí bien y solo la explicación de lo que tengo por ahora.
Vale, pues lo que quiero lograr, es que en vez de generarlo de esta forma donde solo me muestra titulos, poder añadirle contenido a cada uno pero utilizando los: $eq1 y $eq2 como desee.
Es decir:
- 123 cambio 456 (titulo 1)
Esto es la entrada de este titulo y muestro $eq1(123) y ahora $eq2(456). (contenido de la primera entrada) - 543 cambio 210 (titulo 2)
Esto es la entrada de este titulo y muestro $eq1(543) y ahora $eq2(210). (contenido de la segunda entrada) - 432 cambio 765 (titulo 3)
Esto es la entrada de este titulo y muestro $eq1(432) y ahora $eq2(765). (contenido de la tercera entrada)
Bueno, eso sería todo.
No se si me he explicado bien, sé que es largo, pero de verdad necesito ayuda con eso y agradezco los que lo lean e intenten ayudar. Soy novato y hago lo que puedo...
Un saludo!!