2010-10-27 2 views
5

мне нужно добавить href=" перед тем, как http:// если http:// не следует href=" или src="PHP регулярное выражение для замены URL ссылки

После кода частично работает. Частично означает, что он считает <a href=" только, но не src="

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

Спасибо, ребята заранее за ответ.

+2

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

+0

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

+1

Вы также не хотите заменять URL-адрес, если он является частью элемента привязки, например 'http://example.com' – Gordon

ответ

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

работает хорошо , Спасибо. – lonelyloner

Смежные вопросы