2014-01-23 66 views

回答

1

我一直在使用這個腳本多年,它的效果很好。它使用RegEx在字符串中查找URL。

function create_links(strText) 
    strText = " " & strText 
    strText = ereg_replace(strText, "(^|[\n ])([\w]+?://[^ ,""\s<]*)", "$1<a href=""$2"" ref=""nofollow"">$2</a>") 
    strText = ereg_replace(strText, "(^|[\n ])((www|ftp)\.[^ ,""\s<]*)", "$1<a target=""_blank"" ref=""nofollow"" href=""http://$2"">$2</a>") 
    strText = ereg_replace(strText, "(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)", "$1<a href=""mailto:[email protected]$3"">[email protected]$3</a>") 
    strText = right(strText, len(strText)-1) 
    strText = Replace(strText,"." & chr(34) & ">",chr(34) & ">") 
    strText = Replace(strText,".)" & chr(34) & ">",chr(34) & ">") 
    create_links = strText 
end function 

function ereg_replace(strOriginalString, strPattern, strReplacement) 
    dim objRegExp : set objRegExp = new RegExp 
    objRegExp.Pattern = strPattern 
    objRegExp.IgnoreCase = True 
    objRegExp.Global = True 
    ereg_replace = objRegExp.replace(strOriginalString, strReplacement) 
    set objRegExp = nothing 
end function 

我已經做了些改動,但原來是在這裏... http://www.ipaste.org/Ycc

0
  1. 在文本中查找HTTP://或HTTPS://的位置/入口。請參閱「InStr」功能。
  2. 查找URL的結束位置,它可能是SPACE字符或其他字符,如「;」。 (空格字符對您提供的樣本無效)。
  3. 一旦你得到的URL,把它放在HTML標籤:)你可以通過使用Replace,或通過串聯字符串。
+0

第1部分和第3部分是明確的,沒有問題。但是如何以有效的方式做第二部分? – user1136199