2010-10-27 18 views
5

tengo que añadir href=" ante un http:// si esto http:// no sigue href=" o src="PHP expresión regular para reemplazar enlace url

siguiente código funciona en parte. En parte, los medios que considere <a href=" única pero no src="

$str= preg_replace( 
    "/(?<!a href=\")((http|ftp)+(s)?:\/\/[^<>\s]+)/i", 
    "<a href=\"\\0\"> target=\"blank\">\\0</a>", 
    $str 
); 

Gracias a todos de antemano por su respuesta.

+2

Ver http://stackoverflow.com/questions/4003031/regex-replacing-text-url-but-exclude-image-url – Gumbo

+0

Ver http://stackoverflow.com/search?q=regex+ link – Gordon

+1

También no desea reemplazar la URL si es parte de un elemento de anclaje, por ejemplo 'http://example.com' – Gordon

Respuesta

7
$str= preg_replace( 
    "/(?<!a href=\")(?<!src=\")((http|ftp)+(s)?:\/\/[^<>\s]+)/i", 
    "<a href=\"\\0\" target=\"blank\">\\0</a>", 
    $str 
); 
+0

funciona bien . Gracias. – lonelyloner

Cuestiones relacionadas