Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/12/2008, 17:38
apañero
 
Fecha de Ingreso: abril-2004
Mensajes: 310
Antigüedad: 20 años, 8 meses
Puntos: 0
expresión regular para convertir link en [url]

Hola buenas, me gustaría saber una expersión regular que permita convertir un link tipo:
<a href="direccion" target="target" class="class">link</a>

en uno adecuado a un foro como

[url=direccion]link["cierreurl"]


Las únicas variaciones del link son la dirección, target y class, y que en algún link pueda no aparecer el target="target" o el class="class".
Y no me importan que sean varias expresiones regulares para cada caso.

Por si sirve de ejemplo, esto es lo que uso actuamente que no hace exactamente eso que quiero:

Código:
$message = preg_replace('/<a href=("|&quot;)(http|https|ftp):\/\/(.*?)("|&quot;) target=("|&quot;)_blank("|&quot;)>(.*?)<\/a>/i','\\7',$message);
$message = preg_replace('/<a href=("|&quot;)(http|https|ftp):\/\/(.*?)("|&quot;)>(.*?)<\/a>/i','\\5',$message);
$message = preg_replace('/<a target=("|&quot;)_blank("|&quot;) href=("|&quot;)(.*?)("|&quot;)>(.*?)<\/a>/i','\\6',$message);
$message = preg_replace('/<a href=("|&quot;)(.*?)("|&quot;)>(.*?)<\/a>/i','\\4',$message);
$message = preg_replace('/<A href=("|&quot;)(http|https|ftp):\/\/(.*?)("|&quot;) target=("|&quot;)_blank("|&quot;)>(.*?)<\/a>/i','\\7',$message);
$message = preg_replace('/<A href=("|&quot;)(http|https|ftp):\/\/(.*?)("|&quot;)>(.*?)<\/a>/i','\\5',$message);
$message = preg_replace('/<A target=("|&quot;)_blank("|&quot;) href=("|&quot;)(.*?)("|&quot;)>(.*?)<\/a>/i','\\6',$message);
$message = preg_replace('/<A href=("|&quot;)(.*?)("|&quot;)>(.*?)<\/a>/i','\\4',$message);
Graciass!

Última edición por apañero; 09/12/2008 a las 17:43