'<embed abc=>'.replace(/(<embed[^>]*>)/g,'$1</embed>')

解决方案 »

  1.   

    var s='<div class="abc">'+
    '<p>'+
    '<span>'+
    '<embed src="http://cloud.video.taobao.com/play/u/263817957/p/2/e/1/t/3/11633996.swf"></embed>' +
    '<embed src="http://cloud.video.taobao.com/play/u/263817957/p/2/e/1/t/3/11633996.swf">' +
    '</span>'+
    '</p>'+
    '</div>'
    s = s.replace(/(<embed[^>]+>)(?!<\/embed>)/gi,'$1</embed>');
    alert(s);
      

  2.   

    恩,您的代码正确,我想再进一步向您请教下哦
    假如我的字符串里面不光这个embed没有结束标签,而且input、br等等这些都会没结束标签,那么我改怎么弄呢,让这些没结束标签的都加上结束标签。
      

  3.   

    input,br是单标签,要他们结束干嘛s = s.replace(/(<embed[^>]+>)(?!<\/embed>)/gi,'$1</embed>');其他标签修改红色的内容