本帖最后由 qwe065560 于 2011-09-27 20:29:06 编辑

解决方案 »

  1.   


    <html><body>
    <script type="text/javascript">
    function re(){
    var content = document.getElementById("content");
    var val = content.value.replace(/<(p|div)(?:\s+.*?)?>([^<]+)<\/\1>/g, "$2<br/>");
    alert(val);
    }
    </script>
    <textarea id="content" rows="10" cols="70">
    <p>11s.ss1</p> <p style='font-size:14px;'>lsk</p>
    <div>111</div><div style="color:#fff">abc</div>
    </textarea>
    <input type="button" value="替换" onclick="re()">
    </body></html>
      

  2.   

    楼上给力!!
    不过建议稍微改一下:
    replace(/<(p|div)(?:\s+.*?)?>([^<]*)<\/\1>/g, "$2<br/>");
      

  3.   

    初学JS,这个正则表达式有些地方看不懂,望指教:
    (?:\s+.*?)? 是什么意思?没有看懂
    <\/\1>  \1 又是指什么呢?
    $2<br/>   $2是指内容?
      

  4.   

    (?:\s+.*?)?意思是:匹配一个及以上空格及之后的第一个符合的所有字符(非贪婪),但是不进行分组,最后一个?表示这个匹配是可选的。
    \1意思是:反向引用,引用的是第一个组。在这里就是(p|div)
    $2意思是:$1,$2,$3和正则表达式无关,这个代码应该是放在服务器上运行的,相当于一个变量。执行完之后,$1,$2,$3就被赋予实际的值了。这里起个站位的作用。
      

  5.   

    var str1 = "<p id='1'>111</p>";
    var str2 = "<div>111</div>";
    var re = /<(?:p|div).*>(.*)<\/(?:p|div)>/gi;
    alert(str1.replace(re,"$1"+"<br />"));
      

  6.   


    (?:\s+.*?): (?:) 表示非捕获组。 \s 匹配 空白符      $2 表示左边捕获的第2个组。即 ([^<]*)
      

  7.   

    用了2楼的以后<p>&nbsp;</p>
    <p align="center"><b>ERP</b><b>管理部员工杨怡骏</b><b>2010</b><b>年年度个人工作总结</b></p>
    <p align="center"><b>&nbsp;</b></p>
    <p>虽然进入公司才有2个多月,但我认真了解并学习了公司各项规章制度,并严格遵守。熟悉了公司的企业文化,并使自己更好的融入其中。入职以来在江峰主管的指导下我从mcu推广项目前台页面入手,并进入到现在信息共享系统后台页面的修改乃至编写,不仅使自己的技术水平有了显著提高,也使自己更适应安凯这个大家庭。现将过去这一年入职以来的工作情况总结如下:</p>
    <p align="left"><b><span>1、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></b><b>认真学习,提高了自己岗位的职业技术能力和职业素养。如设计模式的理解运用,对所写代码复用性,效率性的思考等。</b></p>
    <p align="left"><b><span>2、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></b><b>完成</b><b>mcu</b><b>推广项目部分前台页面的设计,修改。</b></p>
    <p align="left"><b><span>3、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></b><b>工作日志系统界面修改,以及加入</b><b>W3C</b><b>标准后,其中一些功能的修改。如:修改日志弹出框,下拉选择框等。</b></p>
    <p align="left"><b><span>4、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></b><b>对信息共享系统进行后台修,把用</b><b>servlet</b><b>实现改为用</b><b>struts</b><b>实现,数据库原本是</b><b>sqlserver</b><b>的改为</b><b>mysql</b><b>。如:芯片产品状态页面和芯片库存页面。</b></p>
    <p align="left"><b><span>5、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></b><b>添加新的信息共享系统功能,产品低良率的分析和跟踪。</b></p>
    <p>虽然在过去的时间里我取得了一些成绩,也学到了很多东西,但我自身也暴露出一些不足,例如:比较急于求成,对完成的系统检查测试不够仔细,还留存功能bug。在新的一年里,我会继续保存那些好的东西,但不会为那些成绩沾沾自喜,只是把这些成绩作为一个新的台阶,从这个台阶出发在新的一年日常的工作中把上一年发现的问题,不足予以改正,并且不停止对自己的职业技能学习和职业素养培养,争取取得更好的成绩。</p>
    <p align="right"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>总结人:杨怡骏</p>
    <p align="right"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2011-1-24</span></p>
    <p align="right"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></p>
    被替换成了
    <p>&nbsp; <br />
    <br />
    虽然进入公司才有2个多月,但我认真了解并学习了公司各项规章制度,并严格遵守。熟悉了公司的企业文化,并使自己更好的融入其中。入职以来在江峰主管的指导下我从mcu推广项目前台页面入手,并进入到现在信息共享系统后台页面的修改乃至编写,不仅使自己的技术水平有了显著提高,也使自己更适应安凯这个大家庭。现将过去这一年入职以来的工作情况总结如下: <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    虽然在过去的时间里我取得了一些成绩,也学到了很多东西,但我自身也暴露出一些不足,例如:比较急于求成,对完成的系统检查测试不够仔细,还留存功能bug。在新的一年里,我会继续保存那些好的东西,但不会为那些成绩沾沾自喜,只是把这些成绩作为一个新的台阶,从这个台阶出发在新的一年日常的工作中把上一年发现的问题,不足予以改正,并且不停止对自己的职业技能学习和职业素养培养,争取取得更好的成绩。 <br />
    总结人:杨怡骏 <br />
    <br />
    <br />
    &nbsp;</p>
    <p>&nbsp;</p>
    明显不正确求解
      

  8.   

    替换语句换一下var val = content.value.replace(/<(p|div)(?:\s+.*?)?>(.*?)<\/\1>/ig, "$2<br/>");
      

  9.   

    还是有稍许不对。有几个P还是没被处理掉
    现在的结果是<p>&nbsp; <b>管理部员工</b>个人工作总结</b><br />
    <b>&nbsp;</b><br />
    虽然进入公司才有2个多月,但我认真了解并学习了公司各项规章制度,并严格遵守。熟悉了公司的企业文化,并使自己更好的融入其中。入职以来在江峰主管的指导下我从mcu推广项目前台页面入手,并进入到现在信息共享系统后台页面的修改乃至编写,不仅使自己的技术水平有了显著提高,也使自己更适应安凯这个大家庭。现将过去这一年入职以来的工作情况总结如下:<br />
    <b><span>1、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></b><b>认真学习,提高了自己岗位的职业技术能力和职业素养。如设计模式的理解运用,对所写代码复用性,效率性的思考等。</b><br />
    <b><span>2、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></b><b>完成</b><b>mcu</b><b>推广项目部分前台页面的设计,修改。</b><br />
    <b><span>3、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></b><b>工作日志系统界面修改,以及加入</b><b>W3C</b><b>标准后,其中一些功能的修改。如:修改日志弹出框,下拉选择框等。</b><br />
    <b><span>4、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></b><b>对信息共享系统进行后台修,把用</b><b>servlet</b><b>实现改为用</b><b>struts</b><b>实现,数据库原本是</b><b>sqlserver</b><b>的改为</b><b>mysql</b><b>。如:芯片产品状态页面和芯片库存页面。</b><br />
    <b><span>5、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></b><b>添加新的信息共享系统功能,产品低良率的分析和跟踪。</b><br />
    虽然在过去的时间里我取得了一些成绩,也学到了很多东西,但我自身也暴露出一些不足,例如:比较急于求成,对完成的系统检查测试不够仔细,还留存功能bug。在新的一年里,我会继续保存那些好的东西,但不会为那些成绩沾沾自喜,只是把这些成绩作为一个新的台阶,从这个台阶出发在新的一年日常的工作中把上一年发现的问题,不足予以改正,并且不停止对自己的职业技能学习和职业素养培养,争取取得更好的成绩。<br />
    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>总结人:<br />
    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2011-1-24</span><br />
    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
    &nbsp;</p>
    <p>&nbsp;</p>
      

  10.   

    你的p和div里面都有其他的标签。这个已经相对复杂了 假设如果再有嵌套如<div><div><p></p></div></div>的话
    那基本上javascript的正则无法实现你的需求了。因为实现太麻烦