繁体   English   中英

使用javascript替换开始和结束的多个html标签

[英]Replace starting and ending multiple html tags using javascript

我想删除以下标签

  1.  <div>
  2.  </div>
  3.  <p>
  4.   </p>
  5.   <span>
  6.   </span>

var str =  '<div><p><span>Hello World</span></p></div>';

我可以

str = str.replace('<div>', '');
str = str.replace('<p>', '');

等等。

但是使用正则表达式等可以一步完成相同的任务。

请勿为此使用正则表达式: RegEx匹配除XHTML自包含标记之外的其他开放标记

解析HTML并检索您需要的内容。 这是一种基本的方法,可以从您提供的节点中检索文本。 您可以进一步扩展它以播种您的需求。

 var container = document.createElement("div"); //load div in memory
 container.insertAdjacentHTML("afterbegin", str); //append the nodes into the container div.

 str = container.getElementsByTagName("span")[0].textContent || container.getElementsByTagName;("span")[0].innerText;

您甚至可以做container.textContent || container.innerText container.textContent || container.innerText ; 从字符串容器HTML元素中获取所有文本且没有节点。 (innerText在那里支持较旧的浏览器IE)。

试试这个模式:

/<\/?([a-z])+\>/g

这是一个例子

RegExr v2.0是用于测试正则表达式的非常方便的工具。 为了查看结果,请单击页面底部的“替换”选项卡。

希望这就是您想要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM