寫本文的目的是今天恰好有一個之前做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 );
效果如下圖:
很好,很不錯!
至於代碼中的實現方法,replace()方法用於在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串,並返回一個新的字符串。{2,}這個正則表達式的意思是至少匹配兩次,g代表全局匹配。