Hola a todos...!
Quiero modificar lineas de un archivo .txt, que es algo así:
Código:
texto|texto|texto|texto|texto|texto|
texto|texto|texto||texto|texto|
texto|texto|texto||texto|texto|
... y lo intento de esta forma:
Código PHP:
$fop = fopen("archivo.txt","r");
while($linea = fgets($fop)) {
$campo = explode("|", $linea); //Identificamos los campos
$posicion = $campo[3];//Campo a modificar
$replace = $posicion.'/'; //Reemplazamos por esto
$resultado = str_replace($posicion, $replace, $linea); //Ejecutamos el "str_replace"
echo $resultado; //Imprimimos el resultado
}
Es decir, repito lo escrito en el campo, y le agrego una barra inclinada. Si está todo bien, reescribo el archivo.txt
Con lo anterior me da este resultado:
Código:
texto|texto|texto|texto/|texto|texto|
texto|texto|texto||texto|texto|
texto|texto|texto||texto|texto|
Acá me aparece el problema, que si el array tiene un valor vacio, el explode() da FALSE... tal cual lo dice el manual "Si delimiter es un string vacío (""), explode() devolverá FALSE.", por lo tanto no me coloca la barra inclinada.
Por favor ¿cómo puedo hacer para poner, igualmente, la barra inclina en "$campo[3]" aunque tenga un valor FALSO?
He buscado, y he visto que los valores vacíos en un array se pueden eliminar... pero no he visto que se puedan "rellenar" por decirlo de alguna foma.
Ojalá puedan orientarme u ayudarme!!!