求一正则表达式

tcmis 2014-08-22 04:53:12
</p>    <p>

怎么样将其中的 替换成空格

我replace(/<\/p>\ {1,}<p>/gi, '</p><p>');有问题。。
怎么写,希望大侠赐教, 谢谢。
...全文
147 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcmis 2014-08-22
  • 打赏
  • 举报
回复
不好意思,我看错了, 可以。。
tcmis 2014-08-22
  • 打赏
  • 举报
回复
xzy21com老大, 替换不了啊
scscms太阳光 2014-08-22
  • 打赏
  • 举报
回复
如果说p之外全是空格完全可以.replace(/<\/p>( )*<p>/g, '</p><p>') 问题是不考虑有那么一小个字符或者回车换行之类的在中间吗?造成无法替换了。
tcmis 2014-08-22
  • 打赏
  • 举报
回复
呵呵,没事呢。。。谢谢你
comcaptain 2014-08-22
  • 打赏
  • 举报
回复
单纯就这个问题来说,你的正则表达式有两个问题: 1. &不是正则表达式关键字,无需转义 2.  没有用括号,导致{1,}只应用到;上 所以改成如下这样即可:
"</p>    <p>".replace(/<\/p>( ){1,}<p>/g, '</p><p>');
另外,如果你是想实现我5楼中说的那个功能,不建议用正则表达式,因为如果以后html代码的结构变了,正则表达式就要重新写,不容易维护
comcaptain 2014-08-22
  • 打赏
  • 举报
回复
无视我上面的回复,我没看清楚问题,你实际想实现的功能是将相邻p元素之间的 去掉吗? csdn做的好烂,我竟然没有权限删除或者编辑自己的评论,无语了。
comcaptain 2014-08-22
  • 打赏
  • 举报
回复
先选中这个p元素,然后取得innerHTML,然后将里面的空格替换掉(演示在这里):

<p id="content">开始      我前面有空格</p>
<input type="button" onclick="javascript: removeSpaces();" id="test" value="点我去除空格" />

function removeSpaces() {
    var ele = document.getElementById("content");
    ele.innerHTML = ele.innerHTML.replace(/ /g, "");
}
去除空格的话其实不太推荐用正则表达式,可以先利用浏览器的功能解析成text,然后去除空格,如下:
ele.innerHTML = ele.innerText.replace(/\s/g, "");
tcmis 2014-08-22
  • 打赏
  • 举报
回复
不好意思,我没有说清楚。
tcmis 2014-08-22
  • 打赏
  • 举报
回复
我的必须是</p>开头,</p>结尾,而且中间的 的数量不定,所以,上面的不行。
scscms太阳光 2014-08-22
  • 打赏
  • 举报
回复
var str = "</p>    <p>".replace(/ /g," ");

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧