Javascript正则表达式替换为转换文本

时间:2013-12-02 13:57:39

标签: javascript regex

我正在尝试将<h[num] id="....">Header</h[num]>替换为h[num]. Header

这是我尝试过的,但我无法让它发挥作用:

html.replace('/<h(\d+).*?>([\s\S]*?)<\/h.*?>/', "h$1. $2");

2 个答案:

答案 0 :(得分:0)

实际上,它可以。

检查http://jsfiddle.net/cLHk3/

中的示例
function replaceHTML(){
    var elements = document.querySelectorAll('h1,h2,h3,h4,h5');
    Array.prototype.slice.call(elements).forEach(function(element){
        var text = element.tagName+'. Header';     
        element.parentNode.insertBefore(document.createTextNode(text),element);
        element.parentNode.insertBefore(document.createElement('br'),element);
        element.parentNode.removeChild(element);
    })
}

答案 1 :(得分:0)

答案如下:

var html = <h1 id="....">Header</h1>
var re = /^<h(\d+)[\s\S]*?>([\s\S]*)<\/h(\d+)>$/;

html.replace(re, "h$1. $2");