Foros del Web » Programando para Internet » PHP »

Eliminar caracteres ansi(13)+ansi(10)

Estas en el tema de Eliminar caracteres ansi(13)+ansi(10) en el foro de PHP en Foros del Web. Estos caracteres parecen espacios quando los visionas con el nav egador o el editor y no se pueden quitar. Estos caracteres son ansi(13)+ansi(10) (lo interpreto ...
  #1 (permalink)  
Antiguo 30/04/2004, 06:34
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Eliminar caracteres ansi(13)+ansi(10)

Estos caracteres parecen espacios quando los visionas con el nav egador o el editor y no se pueden quitar. Estos caracteres son ansi(13)+ansi(10) (lo interpreto cómo un salto de linia).

Resultado:
Código:
METEO & WEBCAM Datos actuales en Camping Aquarius (Playa de Sant Pere Pescador) 
Fecha: 30 abr 2004 Hora Datos: 14:20:38 (GMT+1) Temperatura Presión Humedad 
Velocidad del viento Dirección del viento ºC ºF hPa % m/s Km/h kt 
Beaufort E Llevant
                   15,1 59,2 999 82 6,6 23,8 13 4
                                       Ultimas 24 h: grafica
(estos caracteres estan antes y despues de la serie de números)


He probado usando:
$original = preg_replace("/\s{2,}/"," ",$sinhtml);
$original = str_replace(chr(13).chr(10),'',$original);
$original = str_replace("\r\n",'',$original);
$original = str_replace("\n\r",'',$original);
$original = str_replace("\n",'',$original);

I tampoco ha funcionado.

Ahora ya no es questiíón de hacer explode de &nsbsp; sinó quitar estos caracteres por orgullo propio.

Alguien sabe cómo deshacerse de estos caracteres?

Código usado:
<?php
function unhtmlentities ($string) {
$trans_tbl = get_html_translation_table (HTML_ENTITIES);
$trans_tbl = array_flip ($trans_tbl);
$ret = strtr ($string, $trans_tbl);
return $ret;
}

$filename = 'http://www.aquarius.es/meteo/';
$fd = fopen ($filename, 'r');
$contents = fread ($fd, 10240);
fclose ($fd);
$sinhtml = strip_tags ($contents);
$sinhtml = unhtmlentities($sinhtml);

$original = preg_replace("/\s{2,}/"," ",$sinhtml);
$original = str_replace(chr(13).chr(10),'',$original);
$original = str_replace("\r\n",'',$original);
$original = str_replace("\n\r",'',$original);
$original = str_replace("\n",'',$original);

echo $original;
$final = explode(' ',$original);

echo '<pre>\r\n';
var_dump($final);
echo '\r\n</pre>';
?>
  #2 (permalink)  
Antiguo 30/04/2004, 06:46
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

Usa urlencode() o rawurlencode() para pasar esos caracteres a cadenas tal como %0A y %0D. Luego puedes sustituir esas cadenas y usar urldecode() o rawurldecode() para volver a la cadena original.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 30/04/2004, 08:16
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Gracias josemi, ha funcionado a la perfección:

$sinhtml = urldecode(str_replace('%A0','',urlencode($sinhtml) ));
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 07:17.