Javascript:仅当找到标签时才剥离标签

标签 javascript jquery conditional-statements

编辑: 我有一个在标签之间包装字符串的函数。我希望仅当字符串不包含任何标签时才应用此函数。

if string: "text" then "<b>text</b>";  
else if string "<b>text</b>" then "text";



我需要一个条件语句来检查给定的标签并仅在找到标签时去除标签。

例如。 函数 stripTags(string, "span")

1- 搜索给定标签(在本例中为 span)
2- 如果找到,剥离标签

最佳答案

function stripTags(string, tag) {
  var tagMatcher = new RegExp('</?' + tag + '>','g');
  return string.replace(tagMatcher, '');
}

从字符串中删除任何标签或

function toggleSurroundingTags(string, tag) {
  var tagMatcher = new RegExp('^<' + tag + '>(.*)</' + tag + '>$');
  var match = tagMatcher.exec(string);
  if (match) {
    return match[1];
  } else {
    return '<' + tag + '>' + string + '</' + tag + '>';
  }
}

删除周围的标签,如果它们存在,如果它们不存在,添加它们:

toggleSurroundingTags('hello', 'b'); // returns '<b>hello</b>'
toggleSurroundingTags('<b>hello</b>', 'b'); // returns 'hello'

关于Javascript:仅当找到标签时才剥离标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4478076/

相关文章:

java - BlueJ Java 复合条件

javascript - 在 useEffect 的依赖数组中使用比较

jquery - 传递的名称变量不会加载新的 xml 内容

javascript - 模态窗口中的 xdsoft_datetimepicker 在视口(viewport)下方打开

jquery - Maphilight jquery 插件中的 groupBy 函数

null - 如何根据多个变量的定义编写条件?

javascript - jQuery:如何从 url/hash 获取热链接?

javascript - 为什么canvas元素不能绑定(bind)事件?

javascript - JQuery/Javascript 子菜单悬停问题

mysql select查询直到达到条件