Foros del Web » Programando para Internet » PHP »

PHP no interpreta caracteres de control codigo ascii, como el \n

Estas en el tema de PHP no interpreta caracteres de control codigo ascii, como el \n en el foro de PHP en Foros del Web. Hola! he mirado en las FAQS y en el buscador pero no he obtenido lo que buscaba. No se si me pueden ayudar con un ...
  #1 (permalink)  
Antiguo 02/07/2010, 06:12
 
Fecha de Ingreso: diciembre-2009
Mensajes: 4
Antigüedad: 15 años
Puntos: 0
PHP no interpreta caracteres de control codigo ascii, como el \n

Hola! he mirado en las FAQS y en el buscador pero no he obtenido lo que buscaba.
No se si me pueden ayudar con un problema que tengo y es que mi php no interpreta el \n \t , en definitiva que no interpreta los caracteres de control del codigo ascii.

Si ha alguien le ha pasado lo mismo y me puede ayudar se lo agradecería mucho.
  #2 (permalink)  
Antiguo 02/07/2010, 06:59
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 11 meses
Puntos: 44
Respuesta: PHP no interpreta caracteres de control codigo ascii, como el \n

Pero no lo interpreta para que? Si lo que quieres es mostrar en un documento un salto de línea tienes que concatenar tu texto con el codigo HTML <br> o XHTML <br />.

En cambio para mostrar el salto en la base de datos o en un texto plano si se usa \r\n.

Explicanos mejor en qué situación no te reconoce los caracteres, para poder ayudarte mejor.

Un saludo.
  #3 (permalink)  
Antiguo 02/07/2010, 07:08
 
Fecha de Ingreso: diciembre-2009
Mensajes: 4
Antigüedad: 15 años
Puntos: 0
Respuesta: PHP no interpreta caracteres de control codigo ascii, como el \n

Tengo entendido que el salto de línea se puede hacer mediante la etiqueta <br> o el caracter de linea nueva. Por ejemplo echo "\n";

Citado de [URL="http://www.php.net/manual/es/language.types.array.php"]http://www.php.net/manual/es/language.types.array.php[/URL]
Código:
<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('html_errors', false);
// Array simple:
$array = array(1, 2);
$count = count($array);
for ($i = 0; $i < $count; $i++) {
    echo "\nRevisando $i: \n";
    echo "Mal: " . $array['$i'] . "\n";
    echo "Bien: " . $array[$i] . "\n";
    echo "Mal: {$array['$i']}\n";
    echo "Bien: {$array[$i]}\n";
}
?>
Un saludo.
  #4 (permalink)  
Antiguo 02/07/2010, 10:27
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 11 meses
Puntos: 44
Respuesta: PHP no interpreta caracteres de control codigo ascii, como el \n

En ese caso, a lo que se le proporcionaría un salto de línea, sería al código HTML que saca. Puedes comprobarlo viendo el código fuente generado. Pero te repito, necesitas etiquetas HTML par mostrar saltos de línea en un HTML.

Saludos
  #5 (permalink)  
Antiguo 02/07/2010, 12:28
 
Fecha de Ingreso: diciembre-2009
Mensajes: 4
Antigüedad: 15 años
Puntos: 0
Respuesta: PHP no interpreta caracteres de control codigo ascii, como el \n

Pero a mi no me proporciona ese salto en el código html.

a la entrada anterior mi salida sería esta
Código:
Revisando 0: Notice: Undefined index: $i in /var/www/html/prueba.php on line 11 Mal: Bien: 1 Notice: Undefined index: $i in /var/www/html/prueba.php on line 13 Mal: Bien: 1 Revisando 1: Notice: Undefined index: $i in /var/www/html/prueba.php on line 11 Mal: Bien: 2 Notice: Undefined index: $i in /var/www/html/prueba.php on line 13 Mal: Bien: 2

Y la salida correcta es la que indica,
Código:
Revisando 0:
Notice: Undefined index:  $i in /path/to/script.html on line 9
Mal:
Bien: 1
Notice: Undefined index:  $i in /path/to/script.html on line 11
Mal:
Bien: 1

Revisando 1:
Notice: Undefined index:  $i in /path/to/script.html on line 9
Mal:
Bien: 2
Notice: Undefined index:  $i in /path/to/script.html on line 11
Mal:
Bien: 2
que como se puede comprobar, mi salida no contempla el caracter de control \n ni \r, \t ni todos los del codigo ascii supongo.

Gracias SetheR.

Edito:
Cuando veo el código fuente de la página en el navegador todo parece haber ido con normalidad pero no sé por qué no se visualiza correctamente la salida.
Código:
Revisando 0: 

Notice: Undefined index: $i in /var/www/html/prueba.php on line 11
Mal: 
Bien: 1

Notice: Undefined index: $i in /var/www/html/prueba.php on line 13
Mal: 
Bien: 1

Revisando 1: 

Notice: Undefined index: $i in /var/www/html/prueba.php on line 11
Mal: 
Bien: 2

Notice: Undefined index: $i in /var/www/html/prueba.php on line 13
Mal: 
Bien: 2

Última edición por cloud16787; 02/07/2010 a las 12:45
  #6 (permalink)  
Antiguo 02/07/2010, 13:31
 
Fecha de Ingreso: diciembre-2009
Mensajes: 4
Antigüedad: 15 años
Puntos: 0
Respuesta: PHP no interpreta caracteres de control codigo ascii, como el \n

He estado buscando más y ya creo que lo entendí! Gracias!

Etiquetas: ascii, caracteres, control
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:17.