Coldfusion解析文本中的URL

时间:2011-03-03 18:15:15

标签: regex coldfusion

任何人都可以帮助将一个函数解析为文本字符串中的有效html链接吗?

例如:

“欢迎使用www.nerds4life.com。在nerds4life.comhttp://nerds4life.comhttp://www.nerds4life.com查看我们的文章”

会变成:

“欢迎使用www.nerds4life.com。在nerds4life.comhttp://nerds4life.comhttp://www.nerds4life.com查看我们的文章”

最好的方法是什么?正则表达式(如果是这样,如何?)或循环遍历文本中的每个单词(会认为效率较低)

由于

2 个答案:

答案 0 :(得分:3)

再次......可能有更优雅的正则表达式......

如果这个网站不合适,可以随时谷歌寻找“好”的正则表达式来寻找网址。

<cfset myText = "Welcome to www.nerds4life.com. View our articles at nerds4life.com or at http://nerds4life.com or also http://www.nerds4life.com or at https://foo.com or http://123.com" />

<cfset myNewText = rereplaceNoCase( myText, '((http(s)?://)?((www\.)?\w+\.\w{2,6}))', '<a href="http://\4">\1</a>', 'all' ) />

答案 1 :(得分:0)

这将解析以http或www开头并以空格

结尾的字符串中的URL
<cfset myString = "Welcome to www.nerds4life.com. View our articles at nerds4life.com or at http://nerds4life.com or also http://www.nerds4life.com">
<cfset URLinString = rereplaceNoCase(myString, '(((http(s)?://)|(www))\.?(\S+))', '<a href="http://\1">\1</a>', 'all')>