PHP字符串截取新方法:不破坏单词的截断技巧
创始人
2024-12-26 12:11:36
0 次浏览
0 评论
php截取字符
结论:在PHP开发中,如果你需要截取字符串而不断字,那么手册中推荐的mb_strimwidth()函数并不能满足你的期望。开发者实现了自己的方法,利用`wordwrap()`函数来分割单词并计算长度,以达到拦截的目的。
下面是一个直观的实现过程。
当我需要在项目中准确截取字符串而不破坏单词时,我尝试了PHP手册中的mb_strimwidth()函数,但失败了。
所以,虽然有一些问题,我还是自定义了功能。
该函数的原理是首先使用wordwrap()函数将字符串分割成单词,然后使用mb_strlen()计算单词长度,直到达到设定的截距长度即可。
让我们用一个例子来看看这个过程:原始字符串:$str='readonlythisbooleanattributesthattheusercannotmodifythevalueofthecontrol.Disabledattribute,readonlyattributedoesnotPreventtheuserfromclickingorelectinginthecontrol.longgeblog'sThevalueofaread-onlycontrolisstillsubscribedwiththeform.'拦截:echowordcut($str,100);该函数的代码主要用于截取英文字符串。
它会被翻译成文,但你可以调整它以兼容:phpfunctionwordcut($stringg,$cutlength=250,$replace='...'){if(mb_strlen($string)<=$cutlength){返回$string;}else{$totalLength=0;$newwords=[];$wrap=wordwrap($string,1,"t");$wraps=explode("t",$wrap);foreach($wrapsas$tmp){$newwords[]=$tmp;$totalLength+=mb_strlen($tmp);if($totalLength>=$cutlength){break;}}$str=trim(implode("",$newwords));returnempty($str)?$str:$str.''.$replace;}}如果单词未超过指定长度,则此函数将保持单词原样;如果超过指定长度,则以省略号结尾。
现在的小问题是`$cutlength`不是实际长度,它忽略空格的长度,并在单词总长度达到这个值时停止。
实际使用中会考虑进一步优化。
php截取字符串
这个问题我已经回答过很多次了:/*截取给定长度的完整汉字*/functioncnsubstr($str,$strlen=10){if(empty($str)||!is_numeric($strlen)){returnfalse;}if(strlen($str)<=$strlen){return$str;}//获取字符$length并判断是否为非中文//直接返回长字符串$length$last_word_needed=substr($str,$strlen-1,1);if(!ord($last_word_needed)>128){$needed_sub_sentence=substr($str,0,$strlen);return$needed_sub_sentence;}else{for($i=0;$i<$strlen;$i++){if(ord($str[$i])>128){$i++;}}//endofffor$needed_sub_sentence=substr($str,0,$i);return$needed_sub_sentence;}}直接调用此函数就是这样。下一篇:
自学C语言:时间规划与学习路径攻略
相关文章
深入解析C语言:特性、应用与编程基础
2024-12-14 19:26:33掌握大小写:编程中的关键概念及其实际应用
2024-12-26 04:45:52C语言字符转整数:atoi函数与格式化输...
2024-12-20 01:09:45C语言源程序文件深度解析:.c文件详解与...
2024-12-22 03:35:35C语言基础知识点全解析:必备语法与数据结...
2024-12-17 03:10:07Python字符串转换技巧与Excel字...
2024-12-16 17:51:10Python编程技巧:高效处理列表与时间...
2024-12-14 22:54:49C语言复合语句详解:提升代码组织性与可读...
2024-12-25 16:17:05C语言字符串某位清空方法及实践技巧
2024-12-15 12:35:38Matlab元胞数组转换与操作技巧详解
2024-12-16 17:39:12最新文章
25
2024-12
25
2024-12
25
2024-12
25
2024-12
25
2024-12
25
2024-12
25
2024-12
25
2024-12
25
2024-12
25
2024-12
热门文章
1
C语言字符串常量解析:区别、用途及存储方...
什么是字符串常量字符串常量是C语言中的一种数据类型,它是由一对双引号括起来的字符...
2
C语言printf函数:格式字符串与输出...
printf函数中的格式与输出项有什么关系?在C语言中,printf函数中的格式...
3
Excel技巧:计算字符串起始位置与合并...
如何计算字符串在特定文本中的起始位置,怎么计算字符串在特定文本中的起始位置您可以...
4
Python发音全解:掌握正确的发音方法...
python怎么读我的很多学习编程的朋友可能都知道Python这个词,但是他们中...
5
字符与字符串:编程中的基础文本类型解析
字符串什么意思字符串是由数字、字母和下划线组成的字符串,表示为s=“a1a2…a...
6
Python编程语言:多领域应用与开发优...
Python的作用是什么?Python是一种跨平台计算机编程语言,是ABC语言的...
7
深度解析:C语言编程特点与应用领域
什么叫c语言C语言是一种编程语言。C编程语言应用广泛,具有以下特点和特点:1.语...
8
Java全解析:跨平台编程语言的魅力与多...
java是什么Java是一种功能强大的编程语言,被称为“一次编写,随处运行”模型...
9
C语言printf输出常量类型与格式详解
C语言中如何输出各种常量?C语言的输出常量和输出变量是相同的。可以使用带有各种格...
10
Python发音指南:英式美式发音差异及...
python怎么发音python的发音和注释如下:python英文[?pa?θ?...