【发布时间】:2015-04-06 20:53:59
【问题描述】:
这是对以下内容的跟进: Javascript regex placeholder prints string instead of its value
我正在尝试构建一个 javascript 函数来查找模式并将其转换为链接。
var re = /Ticket-([0-9]*?(?=-)-[0-9]*)/;
var str = 'ASD Ticket-492-367 - Make my day.';
t = str.replace(re,'<a href="http://myworld/ticket/$1">$&</a>')
我现在遇到了一个问题,如果我的字符串已经包含<a> 标签,它会尝试将额外的标签锁定在它上面,这会使输出变得时髦。正则表达式匹配是否有特定的 jQuery/JS 方式以某种方式跳过放置在特定标签内的内容。就像,以某种方式在内容周围包裹一个<div> 标记,然后将其解析为一个DOM 节点......并以这种方式对其进行操作。我对 JS 很陌生,如果我的想法完全不正确,请道歉
更新:针对用例。假设我收到的文本已经有一个链接,如下所示:
<a href="http://myworld/ticket/4385-21557">Ticket-4385-21557 - abc xyz</a>
这将在匹配的字符串“Ticket-4385-21557”周围包裹另一个标签。这是系统中已有的旧字符串,无法更改。所以这个想法是通过跳过<a>标签内的字符串来解决它
【问题讨论】:
-
请发一组测试字符串
-
您好,我在您发布上一个问题时回答了您。我很好奇您是否可以发布一个何时用 标签包装票证的示例?我可以尝试为您解决,但我不确定您为什么要这样做?
-
嗨,不幸的是我无法控制我得到的字符串,因此这个难题
标签: javascript jquery html regex