Foros del Web » Programando para Internet » PHP »

Texto a url, problemas

Estas en el tema de Texto a url, problemas en el foro de PHP en Foros del Web. Hola a todos, tengo el siguiente problema meto un texto con enlaces url sin html y luego lo paso para que se inserte el html ...
  #1 (permalink)  
Antiguo 16/10/2011, 05:17
 
Fecha de Ingreso: octubre-2008
Mensajes: 168
Antigüedad: 15 años, 4 meses
Puntos: 2
Texto a url, problemas

Hola a todos, tengo el siguiente problema meto un texto con enlaces url sin html

y luego lo paso para que se inserte el html en las url detectadas.

$informacion=ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\" target=_blank>\\0</a>", urldecode($_POST['informacion']));


El problema que hay si en el texto hay el signo % todos los % del texto los elimina y hace cosas extrañas .


si sale 40% muestra 40 o junta palabras 40en que sería 40% en o 0.000004 en.
  #2 (permalink)  
Antiguo 16/10/2011, 06:33
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 6 meses
Puntos: 297
Respuesta: Texto a url, problemas

Yo personalmente no te he entendido nada.

Porqué no usas preg_replace, ya que ereg_replace está obsoleta.
  #3 (permalink)  
Antiguo 16/10/2011, 08:41
 
Fecha de Ingreso: octubre-2008
Mensajes: 168
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Texto a url, problemas

Cita:
Iniciado por hasdpk Ver Mensaje
Yo personalmente no te he entendido nada.

Porqué no usas preg_replace, ya que ereg_replace está obsoleta.

Si he probado con otra función con preg_replace

y eso no es. He quitado las funciones de la url, con el campo solo y nada.

El problema es que el signo % del texto me lo inserta como 0e. Tengo la página en utf-8.
mysql_query ("SET NAMES 'utf8'");

Y no sé que pasa porque todos los demás signos, acentos me los pasa bien.
  #4 (permalink)  
Antiguo 16/10/2011, 08:55
 
Fecha de Ingreso: mayo-2011
Mensajes: 171
Antigüedad: 12 años, 10 meses
Puntos: 32
Respuesta: Texto a url, problemas

Cita:
Iniciado por hasdpk Ver Mensaje
Yo personalmente no te he entendido nada.

Porqué no usas preg_replace, ya que ereg_replace está obsoleta.

igual no entendí lo que quieres y aparte del problema que tienes, la función ereg_replace ya esta obsoleta usa preg_replace

explica con mas detalles que es lo que exactamente quieres.

solo entendí que te remplaza el % por un 0e,
pero quien el MySQL o la exprencion regular
  #5 (permalink)  
Antiguo 16/10/2011, 09:59
 
Fecha de Ingreso: octubre-2008
Mensajes: 168
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Texto a url, problemas

Cita:
Iniciado por dukeblass Ver Mensaje
igual no entendí lo que quieres y aparte del problema que tienes, la función ereg_replace ya esta obsoleta usa preg_replace

explica con mas detalles que es lo que exactamente quieres.

solo entendí que te remplaza el % por un 0e,
pero quien el MySQL o la exprencion regular
El problema no es la función regular es que no pilla el carácter '%'.

Ya he dicho que la expresión regular no es.
Meto simplemente el $campo y los % no los pilla.

No se quién cambian el % por Oe. La web está en utf-8 y la tabla está codificado en utf-8 también y al hacer el insert añado mysql_query ("SET NAMES 'utf8'");
  #6 (permalink)  
Antiguo 16/10/2011, 10:33
 
Fecha de Ingreso: mayo-2011
Mensajes: 171
Antigüedad: 12 años, 10 meses
Puntos: 32
Respuesta: Texto a url, problemas

Cita:
Iniciado por jordi45 Ver Mensaje
El problema no es la función regular es que no pilla el carácter '%'.

Ya he dicho que la expresión regular no es.
Meto simplemente el $campo y los % no los pilla.

No se quién cambian el % por Oe. La web está en utf-8 y la tabla está codificado en utf-8 también y al hacer el insert añado mysql_query ("SET NAMES 'utf8'");
Primero fíjate si en las tablas de la BD tienes el %, si es así, quita la función urldecode y haber que pasa .....
  #7 (permalink)  
Antiguo 16/10/2011, 11:30
 
Fecha de Ingreso: octubre-2008
Mensajes: 168
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Texto a url, problemas

Cita:
Iniciado por dukeblass Ver Mensaje
Primero fíjate si en las tablas de la BD tienes el %, si es así, quita la función urldecode y haber que pasa .....


Lo he probado sin nada solo metiendo el $campo, pensaba que era por la función reguladora.

En la base de datos no se guarda.. el % se guarda 0e o alguna otra cosa rara.
  #8 (permalink)  
Antiguo 16/10/2011, 13:04
 
Fecha de Ingreso: mayo-2011
Mensajes: 171
Antigüedad: 12 años, 10 meses
Puntos: 32
Respuesta: Texto a url, problemas

Cita:
Iniciado por jordi45 Ver Mensaje
Lo he probado sin nada solo metiendo el $campo, pensaba que era por la función reguladora.

En la base de datos no se guarda.. el % se guarda 0e o alguna otra cosa rara.
si en la BD no te sale el % es que al momento de guardar, hay algo que interfiere

como guardas el contenido ?¿
  #9 (permalink)  
Antiguo 16/10/2011, 16:36
 
Fecha de Ingreso: octubre-2008
Mensajes: 168
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Texto a url, problemas

Cita:
Iniciado por dukeblass Ver Mensaje
si en la BD no te sale el % es que al momento de guardar, hay algo que interfiere

como guardas el contenido ?¿

Me está costando más identifcar el fallo que modificar los % a mano.


Hago un echo del campo y se ve perfecto pero cuando se guarda el % desaparece la tabla está en utf8_general_ci ¿Algo interfiere pero qué?

Etiquetas: html, url
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 09:32.