Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/08/2011, 16:23
Avatar de andresdzphp
andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: sacar link de un texto

Hola, me imagino que el enlace está entre sus etiquetas html. Podrías hacer esto en el caso de querer sacar varios enlaces:

Código PHP:
Ver original
  1. $str = 'Estoy preguntando en <a href="www.forosdelweb.com">Enlace</a> sobre una duda que tengo, bla bla bla';
  2. preg_match_all('/<a\shref=\"([^\"]*)\">(.*)<\/a>/siU', $str, $m);
  3. print_r($m);

O simplemente usar preg_match si quieres sacar el primer enlace que encuentre. En el array $m está todo lo que encuentren esas funciones.

Código PHP:
Ver original
  1. $str = 'Estoy preguntando en <a href="www.forosdelweb.com" target=_blank>Enlace</a> sobre una duda que tengo, bla bla bla';
  2. preg_match('/<a\s[^>]*href=\"([^\"]*)\"[^>]*>(.*)<\/a>/siU', $str, $m);
  3. echo 'http://' . $m[1];
  4. // Resultado: http://www.forosdelweb.com

En el caso de que la etiqueta a tenga más atributos cambias la expresión por esta:

Código PHP:
Ver original
  1. '/<a\s[^>]*href=\"([^\"]*)\"[^>]*>(.*)<\/a>/siU'

Si quieres aprender expresiones regulares te recomiendo este aporte:

http://www.forosdelweb.com/f18/aporte-expresiones-pcre-646110/

Saludos
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 18/08/2011 a las 16:41