相关文章
百度字数统计代码研究
2024-11-10 18:05

2013年01月曾答应博客园网站管理员会在博客园发布原创内容,当时还不太懂技术,一直拖到现在编出解决百度字数统计问题的专业文章。

百度字数统计代码研究

1.1 字节

字节(B)是 Byte 的中文,多用作存储容量单位,亦可作为传输容量单位。 英文维基百科解释

The byte /ˈbaɪt/ is a unit of digital information in computing and telecommunications that most commonly consists of eight bits.字节(读音: 百特)是计算与通信中一种数字信息单位,1 字节代表 8 比特最常见。

1 字节(Byte) = 1 个英文字符(UTF-8 编码) = 8 比特(bit) = 8 位二进制数字

1.2 百度计算中文长度验证

汉语字符不同于英语字符,有 3 种常见长度,分别是 2, 3, 4 字节。

案例 1

百度搜索结果URL参数解析疑问 - 搜外问答
<?php echo strlen('百度搜索结果URL参数解析疑问 - 搜外问答');?>
中文 16 个字符非中文 6 字节PHP strlen() 函数华文 = (54 - 6) / 16 = 3 字节改·字数统计函数华文 = (38 - 6) / 16 = 2 字节

1.3 百度字数统计函数与计算搜索结果标题为同一函数

Рослинництво, тваринництвотавет...百度改·字数统计函数 63 字节正则表达式 45 字节PHP strlen + mb_strlen 函数 48.5 字节

截图中上方标题约为下方标题长度一半,都触发截断,只有改·字数统计函数的计算结果与前述标题字节上限结论一致。 其他 2 种字数统计能解释标题长度为何较短,但与触发标题字节上限误差较大。

1.4 速度测试

★★☆☆☆ 2 星 改·字数统计函数采用 for 循环遍历每个字符,速度较慢,适合少量计算。

★★★☆☆ 3 星 正则表达式处理较短单一字符集有优势。

★★★★★ 5 星 PHP strlen + mb_strlen 函数的优点是无论多少字数,速度快捷稳定。

1.5 兼容性测试

案例 3

···(3 个间隔号)改·字数统计函数 6 字节正则表达式 4 字节PHP strlen + mb_strlen 函数 4.5 字节
вуліца(白俄罗斯)改·字数统计函数 12 字节正则表达式 8 字节PHP strlen + mb_strlen 函数 9 字节

★★★★★ 5 星 论文主要用解释百度标题计数,改·字数统计函数兼容性自是最好。

★★★☆☆ 3 星 正则表达式缺陷在于小范围的字符集内有效,超出中英文字符等集合便失效了。

★★★☆☆ 3 星 当然 PHP 自带函数兼容性比正则表达式好不到哪里。

1.6 速度与兼容性最优化方案

最少限制与应用范围考虑,百度搜索结果基本属于中英文符号混杂 64 字节以内标题为主,使用百度的改·字数统计函数最合适。

1.7 字数统计工具结果比较

案例 4 拿乌克兰语网站测试各个字数统计工具算法差异

Рослинництво, тваринництво та ветеринарія, технічне забезпечення :: Аграрний сектор України 动植物与兽医学,技术支持: 乌克兰农村经济微软 word2010 10 字数站长工具 66 字符爱站网 91 字符正则表达式 123 字节PHP strlen + mb_strlen 函数 130 字节搜外 163 字节排版助手 166 字节有一个网站 169 字节百度改·字数统计函数 169 字节

站长工具、爱站网、九九参考计算网、工具猫、xpcha、正则表达式、PHP 函数等字数统计结果与百度计算方式相去较远。 搜外seo综合诊断较为接近百度字数统计结果,缺点是运行耗时长及受限于只能查询指定域名,使用范围不大。 排版助手作为网络编辑常用的工具,很接近百度计算方式,很实用,不过仍有误差。 有一个网站在线字数统计与百度改·字数统计函数计算结果一致,不过在间隔号、回车等符号计算方法与之不同。

百度改·字数统计函数

<?php
$str = stripslashes(htmlspecialchars_decode($words, ENT_QUOTES));
function smarty_modifier_wordcount($str,$encoding = 'UTF-8')
{
	if(strtolower($encoding) == 'gbk') {
		$encoding = 'gb18030';
	}
	if(!is_string($str)||$str === '') return false;
	$mbLen = iconv_strlen($str, $encoding);
	$subLen = 0;
	for ($i = 0; $i < $mbLen; $i++) {
		$mbChr = iconv_substr($str, $i, 1, $encoding);
		if (1 == strlen($mbChr)) {
			$subLen += 1;
		} else {
			$subLen += 2;
		}
	}
	return $subLen;
}
echo smarty_modifier_wordcount($str);
?>

正则表达式

<?php
$str = stripslashes(htmlspecialchars_decode($words, ENT_QUOTES));
$number += strlen(preg_replace('/[x80-xff]{1,3}/', ' ', $str, -1, $number));
echo $number;
?>

PHP strlen + mb_strlen 函数

    以上就是本篇文章【百度字数统计代码研究】的全部内容了,欢迎阅览 ! 文章地址:http://changmeillh.xhstdz.com/news/4424.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://changmeillh.xhstdz.com/mobile/ , 查看更多   
最新文章
如何轻松应对Nginx配置文件大小限制提高网站性能与稳定性
为什么需要关注Nginx配置文件大小限制 在使用Nginx作为网站服务器的过程中,配置文件的大小限制是一个常见的问题。当配置文件过大时,会导致服务器性能下降,影响网站的稳定性和访问速度。因此,及时优化和调整配置文件大小非常重要。 如何
打造健康生活新选择:养生馆推广文案写作技巧揭秘
引言:健康生活的追求 在现代社会中,健康已经成为人们最看重的财富之一。快节奏的生活和不断加重的工作压力,使得越来越多的人开始关注自己的身心健康。养生馆作为一种创新的健康生活方式应运而生,它不仅为人们提供了放松身心的场所,还
探索兰州魅力:一份全面的兰州旅游攻略揭开牛肉面与黄河的秘密
探索兰州:邂逅西北的魅力之城 兰州,作为甘肃省的省会,坐落于黄河上游,是一座历史悠久而又充满活力的城市。这里不仅拥有丰富的文化遗产,还有壮观的自然景观。兰州以其独特的地理位置、深厚的文化底蕴和美味的地方美食吸引着越来越多的
如何设置服务器配置提高系统性能?
提高系统性能的重要性 在当今数字化时代,服务器的性能直接影响到企业的竞争力和运营效率。一个高效的服务器配置不仅可以提升系统的稳定性和响应速度,还能提高员工的工作效率和客户体验。 选择适合的硬件和软件配置 首先,要根据企业的实
如何成功启动社区团购:从运营模式到实战技巧的全方位解析
引言:社区团购的崛起 在当今的互联网时代,社区团购以其高效、便捷的特点迅速崛起,成为许多消费者购物的新选择。社区团购不仅能满足居民对日常生活用品的需求,还能通过规模化采购为消费者带来实惠。如何成功启动社区团购,成为了许多创
海底捞学生证折扣使用时间详解:让你的就餐更划算
海底捞学生证折扣使用时间详解 海底捞作为国内知名的火锅连锁品牌,一直以高质量的服务和美味的火锅享誉全国。而对于学生党来说,海底捞更是一个不可多得的福利之地。学生持有效学生证可以享受折扣优惠,让你的就餐更划算。 折扣使用时间
企业网站优化的方法详解
企业网站优化的方法详解 在当今数字化时代,企业网站是企业展示形象、吸引客户、提升品牌的重要窗口。但是,如何使企业网站在竞争激烈的网络世界中脱颖而出,吸引更多潜在客户,成为每家企业都需要思考和解决的问题。 网站内容优化 网站内
探索旅游景区的多样性:常见景观设施类型与特色分析
引言 随着人们生活水平的不断提高,旅游已成为现代生活中不可或缺的一部分。在这个充满活力的行业中,旅游景区以其多样化的景观设施和独特的文化特色,吸引了越来越多的游客。本文将深入探讨旅游景区的多样性,分析常见的景观设施类型以及
企业网站建设优化设计:提升品牌形象与用户体验的必经之路
企业网站建设优化设计的重要性 随着互联网的迅猛发展,企业网站已经成为企业展示自身形象、吸引客户、促进销售的重要工具。而一个优秀的企业网站不仅仅是在页面上简单地展示产品和服务,更需要具备优化设计,提升品牌形象和用户体验,从而
社区团购平台运营模式探析:提升效率与用户体验的双重战略
社区团购的兴起 随着互联网的快速发展,社区团购平台逐渐走进人们的生活,为消费者带来了更加便捷和实惠的购物体验。社区团购是指通过线上平台,将消费者团结在一起,集中采购商品,从而获得更低的价格优惠。这种模式不仅可以提升效率,还
相关文章