Foros del Web » Programando para Internet » PHP »

Reconocer url

Estas en el tema de Reconocer url en el foro de PHP en Foros del Web. Hola a todos. Les comente que estoy tratando de hacer que mi sistema de mensajes reconozca las url que envian los usuarios como asi tambien ...
  #1 (permalink)  
Antiguo 06/07/2017, 18:30
Avatar de zreep  
Fecha de Ingreso: octubre-2009
Ubicación: Argentina
Mensajes: 465
Antigüedad: 8 años
Puntos: 11
Pregunta Reconocer url

Hola a todos. Les comente que estoy tratando de hacer que mi sistema de mensajes reconozca las url que envian los usuarios como asi tambien en el listado, uso este codigo:

Código PHP:
$text "Esta url me lleva a http://www.google.com ";
$text preg_replace("#http://[a-z0-9._/-]+#i""<a href='$0'>$0</a>"$text);
$regex "#[ ]+(www.([a-z0-9._-]+))#i";
$text preg_replace($regex," <a href='http://$1'>$1</a>"$text); 
Hasta ahi funciona todo bien, pero cuando lo trato de agregar dentro de un while, no me reconoce nada ni mucho menos los acentos o eñes, pero tampoco me da un error especifico

Código PHP:
//aca hay un SELECT
while($fila $slc->fetch()) {

$text utf8_encode($fila["texto"]);
$text preg_replace("#http://[a-z0-9._/-]+#i""<a href='$0'>$0</a>"$text);
$regex "#[ ]+(www.([a-z0-9._-]+))#i";
$text preg_replace($regex," <a href='http://$1'>$1</a>",$text); 
Código HTML:
Mensaje: <?=$text;?> 
No se que estoy haciendo mal, espero me puedan ayudar. Gracias
__________________
Zreep
  #2 (permalink)  
Antiguo 06/07/2017, 22:20
 
Fecha de Ingreso: octubre-2012
Ubicación: localhost
Mensajes: 693
Antigüedad: 5 años
Puntos: 79
Respuesta: Reconocer url

Para acentos y ñ:
a-z0-9áéíóúÁÉÍÓÚñÑ

será necesario ese utf8?

Suponiendo que usas mysqli, no será que quieres usar fetch_assoc()?

Saludos.
  #3 (permalink)  
Antiguo 07/07/2017, 08:15
Avatar de zreep  
Fecha de Ingreso: octubre-2009
Ubicación: Argentina
Mensajes: 465
Antigüedad: 8 años
Puntos: 11
Respuesta: Reconocer url

Gracias alvaro_trewhela, estoy usando PDO por eso el fetch() y supongamos que tanto la ñ como los acentos ya esta resuelto, sigue sin reconocerme los enlaces.
__________________
Zreep
  #4 (permalink)  
Antiguo 07/07/2017, 08:35
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.068
Antigüedad: 2 años, 3 meses
Puntos: 213
Respuesta: Reconocer url

y porque no haces una funcion fuera del while que procese el texto y te retorne la respuesta, aqui una muestra con un array:

Código PHP:
Ver original
  1. $texto = array(
  2.             'Este es el Enlace 1 http://muestradeenlace1.com',
  3.             'Este es el Enlace 2 http://muestradeenlace2.com',
  4.             'Este es el Enlace 3 http://muestradeenlace3.com',
  5.             'Este es el Enlace 4 http://muestradeenlace4.com',
  6.             );
  7.  
  8. function enlace($X){
  9.     $text = $X;
  10.     $text = preg_replace("#http://[a-z0-9._/-]+#i", "<a href='$0'>$0</a>", $text);
  11.     $regex = "#[ ]+(www.([a-z0-9._-]+))#i";
  12.     $text = preg_replace($regex," <a href='http://$1'>$1</a>", $text);
  13.  
  14.     return $text;
  15. }
  16.  
  17. foreach ($texto as $key => $value) {
  18.     echo "<li>".enlace($value)."</li>";
  19. }

a mi me funciono perfecto así, tambien lo probe con una consulta a mysql y realizó el trabajo tambien.
__________________
[email protected]
HITCEL



La zona horaria es GMT -6. Ahora son las 16:02.