想知道是否有人能指出我正确的方向。
我建立的系统允许用户向记录添加评论。如果用户想要在他们的评论中引用另一条记录,我希望他们能够使用@符号后跟5位数的记录ID。
例如,当用户提交评论时,例如" 此记录的更新详细信息并记录@ 25645 "我需要在" @ 25645"周围输出一个href。这将链接到相关记录。
我尝试使用REReplaceNoCase但成效有限。
<cfset LinkableComments = REReplaceNoCase(Comments, "@[0-9][0-9][0-9][0-9][0-9]", "<a href=""detailPage.cfm?ID=Test"">Test</a>", "all") />
我无法弄清楚如何将记录ID反馈到网址中。
有什么想法吗?
答案 0 :(得分:3)
Leigh是正确的,你可以像这样使用后退参考:
<cfset LinkableComments = REReplaceNoCase(Comments, "@([0-9][0-9][0-9][0-9][0-9])", "<a href=""detailPage.cfm?ID=\1"">@\1</a>", "all") />
基本上你要在(
和)
内放置你想要捕获和替换的正则表达式“组”,然后在替换参数中引用\1
(因为这是第一组,\ 2为第二组,等等......)
亲自试用here(&lt; - 编辑: Gist已更新,以显示@PeterBoughton建议的@([0-9]{5})
语法)< / p>
答案 1 :(得分:1)
根据REReplace上的文档,您应该能够使用以下内容:
REReplaceNoCase(Comments, "@([0-9]{5})", "<a href=""detailPage.cfm?ID=\1"">Test</a>", "all")
我将测试我的CF服务器何时重新启动