Problema com caractere '°' mb_ereg_replace

  • Autor Autor Isabel
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Isabel

Isabel

1
Zeta
Verificado
Verificación en dos pasos activada
Suscripción a IA
Estoy desarrollando un script que toma datos de una página. La cadena en donde se guardan los datos contienen el símbolo ° varias veces y no encuentro la manera de eliminarlos.

Estoy utilizando el siguiente código:

PHP:
    $buffer = explode('<div align="center" class="nro1">', file_get_contents($UrlMod));

 foreach ($buffer as $valor) {
            $tempi = explode('</div>', $valor);         
            $cantidades[count($cantidades)] = $temp[0];
        }

echo mb_ereg_replace("°", "", $cantidades[1],"UTF-8");

Aclaro que si yo escribo una cadena cualquiera que contiene el símbolo ° sí los elimina pero no ocurre lo mismo con la que obtengo directamente de la web. ¿Alguien me puede dar una idea?
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Estoy desarrollando un script que toma datos de una página. La cadena en donde se guardan los datos contienen el símbolo ° varias veces y no encuentro la manera de eliminarlos.

Estoy utilizando el siguiente código:

PHP:
    $buffer = explode('<div align="center" class="nro1">', file_get_contents($UrlMod));

 foreach ($buffer as $valor) {
            $tempi = explode('</div>', $valor);         
            $cantidades[count($cantidades)] = $temp[0];
        }

echo mb_ereg_replace("°", "", $cantidades[1],"UTF-8");

Aclaro que si yo escribo una cadena cualquiera que contiene el símbolo ° sí los elimina pero no ocurre lo mismo con la que obtengo directamente de la web. ¿Alguien me puede dar una idea?

es porke esta obteniendo los datos en una codificacion distinta. converti a utf8 esos datos antes...
PHP:
$cantidades[1] = utf8_encode($cantidades[1]);
echo mb_ereg_replace("°", "", $cantidades[1],"UTF-8");
 
es porke esta obteniendo los datos en una codificacion distinta. converti a utf8 esos datos antes...
PHP:
$cantidades[1] = utf8_encode($cantidades[1]);
echo mb_ereg_replace("°", "", $cantidades[1],"UTF-8");

Gracias por responder al thread, pero tampoco elimina el símbolo °.
 
Gracias por responder al thread, pero tampoco elimina el símbolo °.

una preg el simbolo esta asi tal cual? o esta en formato html?...ejemplo
HTML:
&deg;
hace esto...
PHP:
$cantidades[1] = utf8_encode($cantidades[1]);
die($cantidades[1]);

a ver si el caracter esta tal cual vos lo queres convertir.
 
una preg el simbolo esta asi tal cual? o esta en formato html?...ejemplo
HTML:
°
hace esto...
PHP:
$cantidades[1] = utf8_encode($cantidades[1]);
die($cantidades[1]);

a ver si el caracter esta tal cual vos lo queres convertir.

El símbolo no está en código html es el símbolo ° tal cual lo veo. El segundo código lo agregué y continúa apareciendo de la misma manera.
 
El símbolo no está en código html es el símbolo ° tal cual lo veo. El segundo código lo agregué y continúa apareciendo de la misma manera.

y usar str_replace?? es mejor ke el eregi y mas con un solo caracter.
 
y usar str_replace?? es mejor ke el eregi y mas con un solo caracter.

Sí también probé y nada... de todas maneras muchas gracias por la ayuda pero voy a ver si encuentro una alternativa para tomar los datos.
 
Sí también probé y nada... de todas maneras muchas gracias por la ayuda pero voy a ver si encuentro una alternativa para tomar los datos.

si keres pasame la url por privado y lo veo... pero esto esta mal...
PHP:
$tempi = explode('</div>', $valor);         
            $cantidades[count($cantidades)] = $temp[0];

no seria?
PHP:
            $cantidades[count($cantidades)] = $tempi[0];
 
si keres pasame la url por privado y lo veo... pero esto esta mal...
PHP:
$tempi = explode('</div>', $valor);         
            $cantidades[count($cantidades)] = $temp[0];

no seria?
PHP:
            $cantidades[count($cantidades)] = $tempi[0];

En el código está bien escrito fue un error de escritura porque modifiqué el nombre de las variables para ponerlas aquí. Ahora te envío un mp con el código y la url.

Como era de esperar, Cicklow encontró la solución a este problema que me tuvo ocupada todo el día.
¡¡Muchas gracias Cicklow!!
 
Última edição:
Voltar
Topo