写本文的目的是今天刚好有一个以前作SEO的同事问我怎样把一篇文章中多个连续的br标签替换成两个连续的br标签,这里就牵涉到SEO层面的问题了。正则表达式
在作SEO优化的时候,其中有一个须要注意的地方就是尽可能减小文章中br标签强制换行的使用,若是换行请尽可能使用p标签,p标签严格意义上来讲就是段落标签,是专门用在文章的段落中的。br标签对SEO不够友好,我想很大程度上仍是搜索引擎想要写代码的人的尽可能把代码写的规范,何时该用什么标签突出强调,何时该用什么标签换行,何时该用什么标签包裹标题等等。固然若是你用编辑器发布文章的话,你敲了回车换行,那么编辑器通常会自动给你的段落加上p标签的。编辑器
那么若是是文章中的换行不是p标签,而是用了多个连续的br标签呢?这样对SEO不够友好,就须要减小br标签的使用或不用。但既然我以前的同事向我问这个问题了,说他写的文章中的有些内容是采集别人的(作过SEO的人都知道伪原创吧),里边会有连续不少个br标签,想经过js把它们替换成两个连续的br标签,因而我就去实际写了一把js帮他完成了这个功能。优化
代码以下:搜索引擎
var str = "一个新的字符<br><br><br><br><br><br>串,该字符串值包含<br><br><br>那么该方法返回的就是一个空串<br><br>其内容是从 start 处到 stop-1 处的全部字符,其长度为 stop 减 start。"; var demo = str.replace(/(<br>){2,}/g, "<br><br>"); console.log(demo );
效果以下图:code
很好,很不错!blog
至于代码中的实现方法,replace()方法用于在字符串中用一些字符替换另外一些字符,或替换一个与正则表达式匹配的子串,并返回一个新的字符串。{2,}这个正则表达式的意思是至少匹配两次,g表明全局匹配。索引