正则表达式捕获html标记中的单词
Regular-Expression capture word in html tag
我试图替换代码片段中的一些HTML标记。例如,span元素在没有id时进行替换,但在有id时不进行替换。
这是我的方法:
var sHTML = 'Text abc <span> text def ';
sHTML = sHTML.replace(/<'s*'/*'s*span(.[^(id'=)]*){0,1}?>/ig, '');
alert(sHTML);
它工作错误!因为当"id="出现时,它不能替换,但如果出现像"i"、"d"或"="这样的单个字符,它应该不会有任何区别,它必须替换。换句话说,我期望:var sHTML = 'Text abc <span id=MyId > text def ';
没有什么可替换的,因为span元素有一个id,所以它应该保持原样:Text abc <span id=MyId > text def
。
但对于var sHTML = 'Text abc <span style="color:#00ff00;" > text def ';
它必须替换,因为span元素没有如下id:Text abc text def
。
知道吗?提前谢谢。
<span (?![^>]*id)[^>]*>[ ]*|<'/span>
试试这个。请参阅演示。
https://regex101.com/r/vD5iH9/82
var re = /<span (?![^>]*id)[^>]*>[ ]*|<'/span>/gim;
var str = 'Text abc <span style="color:#00ff00;" > text def ''; 'nText abc <span id=MyId > text def 'nText <span color="red" >abc</span>';
var subst = '';
var result = str.replace(re, subst);
相关文章:
- 如何查找一个单词在动态创建的html表行中出现的次数
- 如何忽略单词like“”中的未使用空格;测试-文本”;同时构建html标签
- 使用 JavaScript split 来包含单词,标点符号与 span 但忽略 HTML
- 使用Javascript双击HTML中的空格时,选择上一个和下一个单词
- javascript 不将超过 1 个单词的字符串传递给 HTML
- 试图用随机选择的单词填充html中的ul.JS
- 使用 JavaScript 正则表达式获取所有没有 HTML 标签的单词
- 在 HTML/JS/JQuery 中屏蔽单词
- JavaScript-从脚本中的单词列表创建一个html表或网格
- 正则表达式捕获html标记中的单词
- 正则表达式以匹配 HTML 范围标记中包含的多个单词
- HTML “标题”属性显示单词“未定义” - 例如.“主页未定义”
- Javascript删除某个单词所在的html行
- 如何通过css或javascript甚至使用jquery在html中扩展缩写单词
- 正则表达式计算不包括 html 标记的单词
- 使用 Javascript 的 replace() 方法用 html 包装单词
- JQuery:如何在html元素中列出单词
- HTML 浏览器的“文本”选择:选择整个单词(如在 iBooks 中)
- 在 html 中拖放单词
- 给点击的单词加下划线,以及检测加下划线的单词(HTML、JS或CSS)