我该如何更改
var html = '<div>doe, john (Likes pizza)</div>'
对此:
var result = '<div>doe, john <span class="myspan">(Likes pizza)</span></div>'
找到 parent (...)
并用 <span>
包裹它
最佳答案
在 Chromium 的控制台中:
>> re = new RegExp(/\((.+)\)/);
>> s = "<div>doe, john (Likes pizza)</div>";
"<div>doe, john (Likes pizza)</div>"
>> s.replace(re, "<span class=\"myspan\">($1)</span>");
"<div>doe, john <span class="myspan">(Likes pizza)</span></div>"
>> ss2 = "<div>doe, john (Likes football)</div>";
"<div>doe, john (Likes football)</div>"
>> ss2.replace(re, "<span class=\"myspan\">($1)</span>");
"<div>doe, john <span class="myspan">(Likes football)</span></div>"
编辑 - 以便它在括号内找到任何文本,而不仅仅是“喜欢披萨”。
Edit2 - 如评论中所述,它可以被破坏,例如与 s = "<div class="Eric (likes breaking things)"> >>doe, john ((Likes) nested regex)</div>";
关于jquery - 如何将 HTML 标签包裹在特定文本周围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5922628/