Hola buscando soluciones, encontré la forma de hacer lo que quiero la sustitución de cada palabra en su lugar.
Pero aún sigue fallando se descontrolan los datos no se porque y se muestran desordenados cuando el fichero es un csv.
Dejo aquí el código que estoy probando, por más que le doy vueltas no consigo saber porque falla y muestra las palabras en otro lugar que no es.
Código PHP:
Ver original$archivo = fopen("datos_xml.xml","a") or
die("Error en la creacion del Fichero final.");
/*este seria el fichero con los datos separados por TAB.*/
$nombre_fichero = 'datos.csv';
$fichero = fopen($nombre_fichero,'rb');
foreach($cars as $car) {
$car = str_getcsv($car);
<title>'. $car[0] . '</title>
<link>http://pagina.com/'.$car[1].'/</link>
<description>'.$car[2].'</description>
<campo:clave>'.$car[3].'</campo:clave>
<texto>'.$car[4].'</texto>
<continua>'.$car[5].'</continua>
</item> ' . PHP_EOL );
} //cierro foreach.
Bien con esto si tengo un fichero llamado
datos.csv del cual provienen los campos a introducir aquí, debería mostrar los campos de cada columna (para eso use la función str_getcsv() ) cada uno tabulado.
Y cuando llegué al final de la primera linea, después de leer los 6 campos, los muestra ( el 1 campo es el 0, el segundo el 1 y asi hasta el 5). Pero produce errores o si los lee no muestra las partes correctamente.
Un error que tira es como el siguiente:
Código PHP:
Ver originalNotice: Undefined offset: 1 in C:\xampp\htdocs\xmls\crea_xml2.php on line 71
La línea en este ejemplo haría coincidir con esta:
Código PHP:
Ver original<link>http://pagina.com/'.$car[1].'/</link>
¿Qué falla, porqué no muestra los datos correctamente si accedo al indice de cada uno, y son 6 campos (del 0 al 5).?
Espero puedan ayudarme un poco, llevo todo el día probando y nada que doy con esto, es para crear ficheros XML, pero pasando los datos directamente para rellenar cada campo.