我有以下字符串:
<h1 class="title">This is some heading?</h1><h2 class="desc">Here is the description for it.</h2>
想让它看起来像:
<h1 class="title">This is some heading? </h1> <h2 class="desc">Here is the description for it.</h2>
上面有2个部分:
- 在每个特殊字符后插入空格。所以在上面的例子中,它可能不是问号,而是!或 & 或 ( 或 ) 或 % 等,我需要在这些特殊字符之后插入空格。
- 删除所有打开的 html 标记并用空格替换关闭的 html 标记。
对于 1,我试过这个:
str = str.replace(/\?/g,'? ');
以上是否在 ? 之后插入空格?但它非常僵硬。我不能对所有特殊字符应用相同的规则。那么该怎么做呢?
对于2,我试过这个:
//To entirely remove all opening html tags
str = str.replace(/<.*?>/g, '');
//To replace closing tag with space
str = str.replace(/<\/.*?>/g, ' ');
上面代码的问题是后面的部分运行良好。第一部分,即删除所有打开的 html 标记的代码也会影响关闭的 html 标记,这是不可取的。那么如何修改上面的代码,以便删除诸如<h1>, <div>,
etc. 之类的开始标签呢?