任何人都可以帮助将一个函数解析为文本字符串中的有效html链接吗?
例如:
“欢迎使用www.nerds4life.com
。在nerds4life.com
或http://nerds4life.com
或http://www.nerds4life.com
查看我们的文章”
会变成:
“欢迎使用www.nerds4life.com。在nerds4life.com或http://nerds4life.com或http://www.nerds4life.com查看我们的文章”
最好的方法是什么?正则表达式(如果是这样,如何?)或循环遍历文本中的每个单词(会认为效率较低)
由于
答案 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')>