Tema: Link con php
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/12/2012, 12:22
Avatar de jonni09lo
jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Link con php

Cita:
Iniciado por jonni09lo Ver Mensaje
y necesito que me retorne

Código HTML:
Ver original
  1. <a href="http://snipplr.com/view/64247/" target="_blank">snipplr.com/view/64247/</a>

He tratado con varias expresiones regulares que me verifican si existe un a href sin http, ftp o https, pero a la hora de remplazarlo no funciona como espero

Código PHP:
Ver original
  1. preg_replace('/(?i)\b(<a href="[^http:\/\/]|[^https:\/\/]|[^ftp:\/\/][a-z0-9.\-]+[.]")/',"<a href=\"http://$1\" target=\"_blank\">$1</a>",$text)

Hay alguna sugerencia de como hacerlo?

Saludos
Hola gracias por la respuesta, pero precisamente eso es lo que necesito, que a la hora de crear el <a href=""> el link que no tenga http:// se lo coloque ya que

Código PHP:
Ver original
  1. function textToLink($subject){
  2.         $data = array();
  3.         $pattern = "/(?i)\b(((http|https|ftp):\/\/|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'\".,<>?«»“”‘’]))/";
  4.         $text = preg_replace($pattern, "<a href=\"$1\" target=\"_blank\">$1</a>", $subject);
  5.         $text = str_replace("href=\"www.","href=\"http://www.",$text);
  6.         return $text;
  7.     }

reconoce los links con o sin http://, si haces las pruebas con esta funcion y pasas los 5 link te daras cuenta que todos se vuelven enlaces, pero el 5 como no tiene http:// no funciona como debe ser


Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.