js将一篇文章中多个连续的<br>标签替换成两个连续的<br>标签
写本文的目的是今天恰好有一个之前做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代表全局匹配。
js将一篇文章中多个连续的<br>标签替换成两个连续的<br>标签的更多相关文章
- N个任务掌握java系列之统计一篇文章中单词出现的次数
问题:统计一篇文章中单词出现的次数 思路: (1)将文章(一个字符串存储)按空格进行拆分(split)后,存储到一个字符串(单词)数组中. (2)定义一个Map,key是字符串类型,保存单词:valu ...
- sql server的sql 语句中的列名包含[]时候,把]替换成]]就可以
sql server的sql 语句中的列名包含[]时候,把]替换成]]就可以eg: create table p.e_LOG_WebServer ( [BSCFlg] int, ), ) ); sel ...
- js估算一篇文章的阅读时长
每天早上上班在地铁里我都有看技术类文章以及实时新闻的习惯,偶尔会看到有些文章的开始部分会提醒我们这篇文章大概的阅读时长,我就在想这是怎么实现的,具体到前端开发中,又是如何实现的.今天在浏览Segmen ...
- JavaScript中将对象数组中的某个属性值,批量替换成另一个数值
原文链接 https://segmentfault.com/q/1010000010352622 希望将下列数组中的sh替换成沪,sz替换成深 var stooges = [ {label:1,val ...
- 一篇文章有若干行,以空行作为输入结束的条件。统计一篇文章中单词the(不管大小写,单词the是由空格隔开的)的个数。
#include <iostream>using namespace std; int k = 0;int n = 0;int main() { char c; char a[1000]; ...
- Java统计一篇文章中每个字符出现的个数
大家可以参考下面代码,有什么疑问请留言... import java.io.BufferedReader; import java.io.FileInputStream; import java.io ...
- jieba:统计一篇文章中词语数
jieba官方文档 1.jieba分词的四种模式 精确模式.全模式.搜索引擎模式.paddle模式 精确模式:把文本精确的切分开,不存在冗余单词,适合文本分析: 全模式:把文本中所有可能的词语都扫描出 ...
- 解决前面有一篇文章中'flashplayer.so为什么要设置777权限的'问题 的 思考了
列出某个目录下的所有内容? ls -A, -A等同于-a, 即是-all, 只是-A 不显示.和.. ll ls 某个目录, 如果它下面没有任何东西, 那么 就没有输出! 同时, ll某个目录, 不会 ...
- 针对上一篇文章中的代码,想出的重构方案(python实现)
#!/usr/bin/env python class Processor: def __init__(self, processor): self.processor = processor def ...
随机推荐
- PHP程序运行性能分析
php在使用了xdebug后,可以配置xdebug相关的配置,生成运行的日志. 在php.ini中配置: xdebug.profiler_enable = 1 xdebug.profiler_enab ...
- 解决can't connect to redis-server
解决方案:编辑redis.conf配置文件:注释掉61行本地链接限制以及80行配置修改为no 61 # bind 127.0.0.1 80 protected-mode no 重启服务即可
- 如何安装zsh,终极shell
1,教程 教程 上知乎直接搜索终极shell也可以,话不多说,直接自己看教程吧 2,总之就是 sudo apt-get install zsh chsh ...修改设置 wget下载oh-my-zsh ...
- gojs常用API-画布定义
持续更新中 基础画布定义API画布初始位置 initialContentAlignment: go.Spot.Center,画布位置,定义后就不能拖动画布了,画布位置交由gojs管理 contentA ...
- c# 利用IEqualityComparer接口去除DataTable重复数据
IEqualityComparer主要适用于定义方法以支持对象的相等比较.可以实现集合的自定义相等比较.即,您可以创建自己的相等定义,并指定此定义与接受 IEqualityComparer 接口的集合 ...
- pads layout 自动打地孔
对于PCBLayout来说,后期处理也是一项费时操作,比如为了让板子耦合的更好,会在板子空旷位置打上很多地过孔.“自动打地孔”则会让你省时又省心,一不小心就提前了工期哦,哈哈! 一.下面打开一个简单的 ...
- java 静态代理模式
package proxy.staticproxy; public interface IStar { public void sing(); } package proxy.staticproxy; ...
- C++—模板(1)模板与函数模板
1.引入 如何编写一个通用加法函数?第一个方法是使用函数重载, 针对每个所需相同行为的不同类型重新实现这个函数.C++的这种编程机制给编程者极大的方便,不需要为功能相似.参数不同的函数选用不同的函数名 ...
- Javal连接字符串为Json
public static String concatJson(String[] keys,String[] values,String[] alreadyJsonKeys){ if(keys==nu ...
- sqlserver2008 触发器备份 20170811
-------------触发器-----------------------------------------------base-----NO if (object_id('trigger_JP ...