解决方案 »

  1.   

    <html>
    <head>

    </head><body>
    <script type="text/javascript">
    var str = '<html><body><p></p><p>1111111</p><p>22222</p></body></html>';
    var first = str.substring(str.indexOf("<p>") + 3,str.indexOf("</p>"));//第一个p标签的内容

    var last = str.substring(str.lastIndexOf("<p>") + 3,str.lastIndexOf("</p>"));//最后p标签的内容
    alert(first);
    alert(last);
    </script>

    </body>
    </html>
      

  2.   

    为空的定义是没有内容或者只有空格或者&nbsp;吗?<script type="text/javascript">
        var str="<p align='left'> &nbsp; &nbsp;</p>sd<p>sdf</p>sdfsdf<br/>sdfs<p></p>";
        str=str.replace(/^<p[^>]*>(\s|&nbsp;)*<\/p>|<p[^>]*>(\s|&nbsp;)*<\/p>$/ig,'');
        console.log(str);
    </script>
      

  3.   


    是这样的,但是我还希望是第一个P标签和最后一个P标签,你这个正则定义了第一个和最后一个吗?
    还有就是里面如果有<br>这种换行的也得删除掉
      

  4.   

    var html = "<span></span>111<p></p>222<p></p>xxx<p></p>444<div></div>";
    var regex = /<p[^>]*>(.*?)<\/p>/g;
    var count = html.match( regex ).length;
    var match;
    var i = 0;
    while( match = regex.exec( html ) ) {
    var item1 = match[ 0 ];
    var item2 = match[ 1 ];
    if( ( i == 0 || i == count - 1 )&& item2 == '' ){
    html = html.substring( 0, regex.lastIndex - item1.length ) + html.substring( regex.lastIndex, html.length );
    if( i == 0 ) {
    regex.compile( regex );
    }
    }
    i++;
    }
    alert( html );
      

  5.   

    试了,确实是的。但是里面还存在<br/> 或者多个空格的情况下也得清除掉。麻烦帮忙修改下。谢谢
      

  6.   

    试了,确实是的。但是里面还存在<br/> 或者多个空格的情况下也得清除掉。麻烦帮忙修改下。谢谢