jquery - 如何将 HTML 标签包裹在特定文本周围

标签 jquery html regex

我该如何更改

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/

相关文章:

jQueryUI 对话框窗体打不开

jquery - 使用 Jquery 从 div 中删除文本

regex - 为什么在回溯中不考虑消极前瞻?

javascript - 如何删除字符串中最后一个逗号字符后的所有内容?

python - 如何使用正则表达式删除某些 HTML 标记中的字符串并且字符串必须包含空格

javascript - jquery.ptTimeSelect.js 如何在输入字段上方显示弹出窗口?

javascript - 将 Themroller 与 qTip 2.0 一起使用

jquery - 响应式菜单项 css 不堆叠在一起

javascript - 如何使帮助程序生成的 HTML 与 jQuery (Meteor) 一起使用?

jquery - 如何获取每个a href的标题属性并放置为span?