Programación Web y Scripting > PHP
Problemas Con El Str_replace();
(1/1)
javier3:
Hola a toda la gentita del foro, bueno tengo un problemilla en mi programa, resulta que tengo que hacer una comparacion de los valores de un archivo de texto con los valores de mi tabla, ahora bien el problema es que los valores que comparo son nombres, entonces el nombre que esta en el archivo de texto tiene algunos caracteres especiales que reemplazan por ejemplo a la letra Ñ ahora cuando los comparo en mi base de datos esta correctamente con la letra Ñ, y al comparar como no coinciden entonces no lo encuentra para solucionar este problema hice lo siguiente
--- Código: Text --- //Digamos que este es el valor del archivo de texto$LineaArchivo = "FLORES NU¥EZ DE LA T'ORRE";//y este es de mi tabla$LineaTabla = "FLORES NUÑES DE LA TORRE";//entonces como veran al comparar nunca por nunca serian iguales//para esto utilice la funcion str_replace();, ahora bien no se porque solo encuentra la comilla simple y lo reemplaza por un espacio en blanco pero el caracter especial ¥ que reemplaza a la letra Ñ no lo encuentra, lo deja como esta. $LineaArchivo = str_replace("¥","Ñ",$LineaArchivo);$LineaArchivo = str_replace("'"," ",$LineaArchivo); no se si es problema de navegador, creo que hay tags o no se bien como se llaman que se ponen en las cabeceras de las paginas, para que lo cambie solo al valor real de ese caracter especial, bueno si alguien me puede ayudar muchas gracias :comp: :comp: :comp: :comp: :comp: :comp: :comp: :comp:
gnfrs:
Si no funciona el reemplazo el navegador no tiene nada que ver. Creo que lo que más te va a convenir es utilizar la función eregi_replace() que utiliza expresiones regulares para buscar en vez de caracteres específicos, seguramente tu problema es por el juego de caracteres que está utilizando tu PHP. No recuerdo bien si str_replace es segura binariamente (es decir que "conoce" los códigos ASCII de los caracteres utilizados...), de ser así el problema puede ser otro.
Me hago un tiempo y te mando un ejemplo.
Saludos.
javier3:
Ok Gracias Gabriel haber si tienes por ahi algun ejemplo te lo agredeceria muchooo :comp: :comp: :comp:
gnfrs:
Te aviso que no es nada fácil lo de expresiones regulares, para mí es sencillo, puesto que ya sé como funcionan, pero la primera vez que lo ví quedé así -> :blink:
Expresiones Regulares
ereg_replace()
Las expresiones regulares te ayudan a buscar un patrón, por ejemplo:
[0-9]+ Represeta caracteres que varian del 0 (cero) al 9 (nueve) inclusive, y con el + le indicás que pueden aparecer una o más veces....
¿Te sirve?
Navegación
Ir a la versión completa