PHP字符串高效分割与对比:如何快速高亮显示长字符串中重复的部分?

php字符串高效分割与对比:如何快速高亮显示长字符串中重复的部分?

PHP文本处理中,字符串分割和对比是常见操作。本文详解如何高效分割长字符串,并与目标字符串对比,高亮显示重复部分。

示例任务:将长字符串$str分割成15字符长度的子串,并与字符串$aa对比,高亮显示$aa中与$str子串重复的部分。

传统方法使用循环和mb_substr逐个分割对比,效率低下。改进后的方法利用mb_str_split一次性将$str分割成子串数组$strList,显著提高效率。 随后,array_reduce函数创建关联数组$replacer,键为$strList中的子串,值为用HTML标签包裹并设置红色样式的子串。最后,strtr函数将$aa中与$replacer键匹配的子串替换为对应的值,实现高亮显示。

此方法避免了低效的逐个比较,并通过HTML标签和CSS样式直观地呈现对比结果。

立即学习“PHP免费学习笔记(深入)”;

代码示例:

$aa = '产品前期没有做任何的冷邮件,内容推广也是在 2019 年才开始进行。如果一开始就做好推广现在的流量和收入高很多。Stencil Stop 是 Colin 和朋友一起创造的,现在原来的伙伴已经离开。目前仍然是和几个朋友一起工作,但经常吵架,Colin 认为一个认真自信并且专注的人才能从激烈的辩论中消除情绪,如果你或你的伴侣或朋友不能100%地沟通,就会造成问题,这些问题会渗透到工作和友谊的各个方面。';$str = 'Stencil Stop 是 Colin 和朋友一起创造的,现在原来的伙伴已经离开。目前仍然是和几个朋友一起工作,但经常吵架,Colin 认为一个认真自信并且专注的人才能从激烈的辩论中消除情绪,如果你或你的伴侣或朋友不能100%地沟通,就会造成问题,这些问题会渗透到工作和友谊的各个方面。';$strList = mb_str_split($str, 15, 'UTF-8');$replacer = array_reduce($strList, function ($result, $current) {    $result[$current] = '<span style="color:red;">' . $current . '</span>';    return $result;}, []);$result = strtr($aa, $replacer);echo $result; // 输出结果,已高亮显示重复部分

登录后复制

本文来自互联网或AI生成,不代表软件指南立场。本站不负任何法律责任。

如若转载请注明出处:http://www.down96.com/tutorials/12935.html

热心网友热心网友
上一篇 2025-04-11 17:08
下一篇 2025-04-11 17:08

相关推荐

本站[软件指南]所有内容来自互联网投稿或AI智能生成,并不代表软件指南的立场。