Foros del Web » Programando para Internet » PHP »

nl2br y ereg_replace no funciona muy bien...??!!!

Estas en el tema de nl2br y ereg_replace no funciona muy bien...??!!! en el foro de PHP en Foros del Web. Hola... Tengo una pagina donde los usuarios insertan sus comentarios ( que quedan en mi Base de Datos ) donde al visualizar los comentarios lo ...
  #1 (permalink)  
Antiguo 19/02/2010, 07:35
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
nl2br y ereg_replace no funciona muy bien...??!!!

Hola...

Tengo una pagina donde los usuarios insertan sus comentarios ( que quedan en mi Base de Datos ) donde al visualizar los comentarios lo tengo de la siguiente manera:

<?php
$contenido=$row_comentarios['comentario'];

$text = nl2br(ereg_replace("(^| )(http://www([.]?[a-zA-Z0-9_/?=-])*)", "\\1<a href=\"\\2\">\\2</a>",$contenido));


echo $text;

?>

Me funciona bien lo de visualizar los comentarios recogidos me la Base de Daots, pero quiero que ejecute las funciones "nl2br" y la"ereg_replace ", pero el problema esta en la funcion ereg_replace para que cuando un usuario escriba una direccion de internet tipo "http://www " al visualizarlo sea un vinculo. El problema es que hay textos que convierten en vinculos ( en este caso perfecto, es lo que quiero ) pero hay vinculos que empiezan por "http://www" que no se quedan como vinculo es decir es como un texto normal sin vincularlo.

Lo que he visto es que las direcciones que no se convierten en vinculos suelen tener un guion " - ", no se si es casualidad, pero pasa esto, como deveria de modificar el codigo para que lo haga cuando hay guiones en la direcion ???

ejemplo del guion:

http://www.miweb.es/foro-miweb/index.php



Alguna sugerencia del porque ???

Última edición por jonysi_d; 19/02/2010 a las 07:43
  #2 (permalink)  
Antiguo 19/02/2010, 07:42
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 15 años, 7 meses
Puntos: 41
Respuesta: nl2br y ereg_replace no funciona muy bien...??!!!

prueba así:

Código:
$text=nl2br(ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $contenido));
por cierto, esto iría en PHP
  #3 (permalink)  
Antiguo 19/02/2010, 07:49
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: nl2br y ereg_replace no funciona muy bien...??!!!

yo creo que debo ponerlo ne el foro de HTML, porque las funciones nl2br y ereg_replace son de HTML ¿¿¿ NO ???? si no es asi, espero me disculpen
  #4 (permalink)  
Antiguo 19/02/2010, 07:49
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 15 años, 7 meses
Puntos: 41
Respuesta: nl2br y ereg_replace no funciona muy bien...??!!!

no... eso es PHP
  #5 (permalink)  
Antiguo 19/02/2010, 07:53
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: nl2br y ereg_replace no funciona muy bien...??!!!

Acabo de probar y funciona perfectamente... muchas gracias codigo0
  #6 (permalink)  
Antiguo 19/02/2010, 08:05
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Hola, jonysi_d.

Traslado el tema a una sección donde encaja mejor.
Tema trasladado desde la sección de HTML.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: Ninguno
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 20:28.