2010-10-27 23 views
5

tôi cần phải thêm href=" trước một http:// nếu điều này http:// không theo href=" hoặc src="PHP biểu thức thông thường để thay thế liên kết url

Tiếp theo đang phần nào hoạt động. Một phần có nghĩa là nó coi <a href=" chỉ nhưng không src="

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

Cảm ơn các bạn trước trả lời của bạn.

+2

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

+0

Xem http://stackoverflow.com/search?q=regex+ liên kết – Gordon

+1

Bạn cũng không muốn thay thế URL nếu nó là một phần của phần tử neo, ví dụ: 'http://example.com' – Gordon

Trả lời

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

hoạt động tốt . Cảm ơn bạn. – lonelyloner

Các vấn đề liên quan