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生成,不代表软件指南立场。本站不负任何法律责任。