martes, 27 de octubre de 2009

PHP. Que pasa cuando queremos eliminar espacios en blanco que están de más, entre dos palabras.

Por definición, las funciones que eliminan espacios en blanco en php, lo pueden hacer al inicio de la cadena, al final, o al inicio y al final en simultaneo.
Pero no hay funcion que elimine los espacios sobrantes (mas de uno) entre dos palabras. La solucion provista para esto, es mediante expresiones regulares.
Los creditos son para Xanders de www.infrabios.com

$long_description = preg_replace("/ +/"," ",$long_description);

Esto devuelve la cadena, sin los espacios sobrantes entre palabras.

Gracias xanders!

Slds ;)

Guille

Eliminar saltos de linea

El problema a resolver fue eliminar los saltos de linea de una descripcion, al momento de exportar una tabla. El problema puntual fue que aparecia el caracter de salto de linea en la descripcion (esa especie de P invertida).
No funcionó con trim, no funcionó con str_replace, solo funcionó con la siguiente solución aportada por cristaen, en foros del web.
Lo que hace basicamente, es intentar reemplazar cualquiera de las combinaciones, con precisamente nada.

Cristaen: Mil Gracias!

$sustituye = array("\r\n", "\n\r", "\n", "\r");
$content = str_replace($sustituye, "", $content);

Slds ;)

Guille



lunes, 26 de octubre de 2009

Escribiendo un salto de linea en un archivo csv.

Estimados:
Lo que deberia ser muy simple, a veces resulta siendo bastante complicado, no por falta de conocimiento, sino por falta de documentación.
Cuando debemos importar datos de un query, en un archivo csv, y deseemos incorporar el salto de linea al final de la misma, lo que debemos codificar es lo siguiente. (yo resumi bastante el ejemplo, en la linea de fwrite, ustedes bien podrian escribir el string que deseen y hacerle un append al final de esto).

fwrite($fp,chr(13).chr(10)); (Donde $fp contiene el puntero al archivo, y chr(13).chr(10) es el equivalente de \r\n.)

Espero que les sirva, saludos!

Guille