我们有一个数据库,每个表名都以WW开头。 我想在网页上显示一个SQL,但是用一个链接包装每个表名。 例如:
"select * from wwx_something where ..."
应转化为:
"select * from <a href='/table/wwx_something/'>wwx_something</a> where ..."
当然,可能有几个表,它不应区分大小写。
我需要一个javascript正则表达式解决方案......我似乎无法让它工作。
答案 0 :(得分:3)
使用单个replace的解决方案:
var re = /(FROM|JOIN)\s+(WW\S+)/gi;
yourText.replace(re, "$1 <a href='$2'>$2</a>");
请注意,我也暂时支持像“SELECT * FROM wwa JOIN wwb”这样的内容。
评论后添加:是的,您可以使用自定义函数替换以使URL大写:
var re = /(FROM|JOIN)\s+(WW\S+)/gi;
function change(s, p1, p2) {
return p1 + " <a href='http://whatever/" + p2.toUpperCase() + "'>" + p2 + "</a>";
}
yourText.replace(re, change);
PS:恕我直言,最好在比赛中包含FROM / JOIN,因为这样你就可以更好地了解与表名无关的流浪“ww”......包括一些上下文总是有助于消除歧义。< / p>