我在 Javascript 中使用以下正则表达式:
comment_body_content = comment_body_content.replace(/(<span id="sc_start_commenttext-(\d+)"><\/span>)
[^]*?(<span id="sc_end_commenttext-\2"><\/span>)/, "$1$3");
我想在我的 HTML 代码中找到此标签 <span id="sc_start_commenttext-330"></span>
(数字总是不同的)和标签 <span id="sc_end_commenttext-330"></span>
。然后这些标签之间的文本和 HTML 代码应该被删除,其余的应该被返回:
之前:
<span id="sc_start_commenttext-330"></span>
Some Text and some <u>html</u> blabla
<span id="sc_end_commenttext-330"></span>
comment_body_content的返回值:
<span id="sc_start_commenttext-330"></span>
<span id="sc_end_commenttext-330"></span>
此表达式适用于所有当前浏览器,但 IE 8 在“(\d+)”和\2 行返回 JavaScript 错误。
有适用于所有浏览器的解决方案吗?
亚历克斯
最佳答案
这会起作用。
.replace(/(<span id="sc_start_commenttext-(\d+)"><\/span>)[\S\s.]*?(<span id="sc_end_commenttext-\2"><\/span>)/, "$1$3")
关于javascript - IE 8 中的正则表达式 (Javascript) 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16231788/