javascript - 识别以问号结尾的单词并在打字时在其周围放置跨度标签

标签 javascript html regex

<小时/>

目标:识别以问号结尾的单词,并在键入时在其周围放置 span 标签

<小时/>

INFO: I have a container where the text inside is editable. Now while the user is writing something, I want the program to parse the text and place any word ending with a question mark inside a span tag. How can I achieve this?

提前谢谢

HTML

<div id='wrapper' contenteditable='true'></div>

Javascript

let wrapper = document.getElementById('wrapper');
let rgx = /([a-zA-Z]+)(\?)/g;

function update() {
    let hits, result;

  hits = wrapper.innerHTML.match(rgx);
    result = wrapper.innerHTML;

  for (let hit of hits) {
    result = result.replace(hit, '<span>' + hit + '</span>');
  }

  wrapper.innerHTML = result;
}

wrapper.addEventListener('input', function(e) {
    update();

  e.preventDefault();
})

风格

span {
  font-weight: bold;
  color: #8e44ad;
}

最佳答案

试试这个正则表达式 /\b(\w+)\b\?/g

并替换为 "<span>\1</span>"

或者"<span>" + hit[1] + "</span>"

See on regex101

关于javascript - 识别以问号结尾的单词并在打字时在其周围放置跨度标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40805790/

相关文章:

regex - 当字符串中的元素可以包含分隔符时,根据分隔符拆分字符串

jquery - 如何将此日期正则表达式从 'dd/mm/yyyy' 转换为 'dd-mm-yyyy' ?

javascript - MVC4 Eonasdan Bootstrap 3 日期时间选择器不会打开选择器屏幕

javascript - 对象文字类型的调用签名是什么?它们如何与泛型类型一起使用?

javascript - 即使没有要显示的选项,select2 工具中的搜索框也会出现?

javascript - 从上传的文件中加载 json

python正则表达式拆分字符串,同时保持分隔符与值

javascript - Selenium Webdriver 的替代品

javascript - 如何在空格键中使用动态对象属性名称?

javascript - 在 IE11 Windows 8.1 上,单击后按钮仍然突出显示