php截取字符函数,php截取文本

本文目录一览:

php字符串截取函数用法分析

本文实例分析了php字符串截取函数用法。分享给大家供大家参考。具体分析如下:

php自带的截取字符串的函数只能处理英文,数字的不能截取中文混排的,后面一个示例比较好用,第一个主要是给初学者学学用的,具体代码如下:

复制代码

代码如下:?php

//构造字符串

$str

=

“ABCDEFGHIJKLMNOPQRSTUVWXYZ”;

echo

“原字符串:b”.$str.”/bbr”;

//按各种方式进行截取

$str1

=

substr($str,5);

echo

“从第5个字符开始取至最后:”.$str1.”br”;

$str2

=

substr($str,9,4);

echo

“从第9个字符开始取4个字符:”.$str2.”br”;

$str3

=

substr($str,-5);

echo

“取倒数5个字符:”.$str3.”br”;

$str4

=

substr($str,-8,4);

echo

“从倒数第8个字符开始向后取4个字符:”.$str4.”br”;

$str5

=

substr($str,-8,-2);

echo

“从倒数第8个字符开始取到倒数第2个字符为止:”.$str5.”br”;

?

支持中英文混合截取,代码如下:

复制代码

代码如下:?php

/*

——————————————————

参数:

$str_cut

需要截断的字符串

$length

允许字符串显示的最大长度

程序功能:截取全角和半角(汉字和英文)混合的字符串以避免乱码

——————————————————

*/

function

substr_cut($str_cut,$length)

{

if

(strlen($str_cut)

$length)

{

for($i=0;

$i

$length;

$i++)

if

(ord($str_cut[$i])

128)

$i++;

$str_cut

=

substr($str_cut,0,$i).”..”;

}

return

$str_cut;

}

?

希望本文所述对大家的php程序设计有所帮助。

php截取字符串函数

php

//构造字符串

$str = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”;

echo “原字符串:”.$str.”

“;

//按各种方式进行截取

$str1 = substr($str,5);

echo “从第5个字符开始取至最后:”.$str1.”

“;

$str2 = substr($str,9,4);

echo “从第9个字符开始取4个字符:”.$str2.”

“;

$str3 = substr($str,-5);

echo “取倒数5个字符:”.$str3.”

“;

$str4 = substr($str,-8,4);

echo “从倒数第8个字符开始向后取4个字符:”.$str4.”

“;

$str5 = substr($str,-8,-2);

echo “从倒数第8个字符开始取到倒数第2个字符为止:”.$str5.”

“;

?

支持中英文混合截取。

代码如下 复制代码

/*

——————————————————

参数:

$str_cut 需要截断的字符串

$length 允许字符串显示的最大长度

程序功能:截取全角和半角(汉字和英文)混合的字符串以避免乱码

——————————————————

*/

function substr_cut($str_cut,$length)

{

if (strlen($str_cut) $length)

{

for($i=0; $i $length; $i++)

if (ord($str_cut[$i]) 128) $i++;

$str_cut = substr($str_cut,0,$i).”..”;

}

return $str_cut;

}

?

php字符截取

当汉字被截断时,根据编码规则他总是要把后边的其他字符拉过来一起作为汉字解释,这就是出现乱码的原因。而值为0x81到0xff与0x00组合始终都显示为“空”

根据这一特点,在substr的结果后面补上一个chr(0),就可以防止出现乱码了

先看段代码

复制代码

代码如下:

?php

$len

=

15;

$str

=

“这个新闻或是文章的标题很长,需要只显示前面一些字,后面用…来代替”;

echo

strlen($str)=$len

?

$str

:

(substr($str,0,$len).chr(0).”…”);

?

chr(0)相关知识:

null是什么都没有,而chr(0)的值是0。表示成16进制是0x00,表示成二进制是00000000

虽然chr(0)不会显示出什么,但是他是一个字符。

最准确的php截取字符串长度函数

说是最精确截取长度,其实我也不敢确定是否是最精确的,具体有多精确看下面的效果就知道了:

先上测试用的字符串:

?php

header(“Content-Type:text/html;charset=utf-8”);

echo

cn_substr_utf8(‘我是一个,和哈,哦也,,国家!’,12);

echo

‘br

/’,cn_substr_utf8(‘ai\’2145m

a

ch3我[是一,个,和哈,哦也,,国家!’,12);

echo

‘br

/’,cn_substr_utf8(‘【我,是一,个,和哈,哦也,,国家!’,12);

echo

‘br

/’,cn_substr_utf8(‘我是一,个,和哈,哦也,,国家!’,12);

echo

‘br

/’,cn_substr_utf8(‘我是,一,个,和哈,哦也,,国家!’,12);

echo

‘br

/’,cn_substr_utf8(‘我,是,一,个,和哈,哦也,,国家!’,12);

echo

‘br

/’,cn_substr_utf8(‘我是asd一,个,和哈,哦也,,国家!’,12);

echo

‘br

/’,cn_substr_utf8(‘【我i\’m[是一,个,和哈,哦也,,国家!’,12);

echo

‘br

/’,cn_substr_utf8(‘【i\’m

a

ch我[是一,个,和哈,哦也,,国家!’,12);

echo

‘br

/’,cn_substr_utf8(‘【i\’2145m

a

ch3我[是一,个,和哈,哦也,,国家!’,12);

下面是精确截取字符串的效果图:

具体函数代码如下:

//utf-8中文截取,单字节截取模式

function

cn_substr_utf8($str,$length,$append=’…’,$start=0){

if(strlen($str)$start+1){

return

”;

}

preg_match_all(“/./su”,$str,$ar);

$str2=”;

$tstr=”;

//

for($i=0;isset($ar[0][$i]);$i++){

if(strlen($tstr)$start){

$tstr.=$ar[0][$i];

}else{

if(strlen($str2)$length

+

strlen($ar[0][$i])){

$str2.=$ar[0][$i];

}else{

break;

}

}

}

return

$str==$str2?$str2:$str2.$append;

}

如果大家认为还不够准确大家可以在此基础上进行改进,或者是创新,希望这篇关于php截取字符串长度函数的文章对大家的学习有所帮助。

php语言中字符串分割用什么函数?

“php分割字符串的函数有explode()和str_split() explode()”【摘要】

php语言中字符串分割用什么函数?【提问】

“php分割字符串的函数有explode()和str_split() explode()”【回答】

explode() 函数使用一个字符串分割另一个字符串,并返回由字符串组成的数组。【回答】

php截取字符串用哪个函数?

有两个函数,具体看你需求满足谁,无中文使用substr,有中文使用mb_substr函数

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/304917.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2025-01-01 11:06
下一篇 2025-01-01 11:06

相关推荐

  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • 英语年龄用连字符号(Hyphenation for English Age)

    英语年龄通常使用连字符号表示,比如 “five-year-old boy”。本文将从多个方面探讨英语年龄的连字符使用问题。 一、英语年龄的表达方式 英语中表…

    编程 2025-04-29
  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python中capitalize函数的使用

    在Python的字符串操作中,capitalize函数常常被用到,这个函数可以使字符串中的第一个单词首字母大写,其余字母小写。在本文中,我们将从以下几个方面对capitalize函…

    编程 2025-04-29
  • Python字符转列表指南

    Python是一个极为流行的脚本语言,在数据处理、数据分析、人工智能等领域广泛应用。在很多场景下需要将字符串转换为列表,以便于操作和处理,本篇文章将从多个方面对Python字符转列…

    编程 2025-04-29
  • Python中set函数的作用

    Python中set函数是一个有用的数据类型,可以被用于许多编程场景中。在这篇文章中,我们将学习Python中set函数的多个方面,从而深入了解这个函数在Python中的用途。 一…

    编程 2025-04-29
  • 三角函数用英语怎么说

    三角函数,即三角比函数,是指在一个锐角三角形中某一角的对边、邻边之比。在数学中,三角函数包括正弦、余弦、正切等,它们在数学、物理、工程和计算机等领域都得到了广泛的应用。 一、正弦函…

    编程 2025-04-29
  • 单片机打印函数

    单片机打印是指通过串口或并口将一些数据打印到终端设备上。在单片机应用中,打印非常重要。正确的打印数据可以让我们知道单片机运行的状态,方便我们进行调试;错误的打印数据可以帮助我们快速…

    编程 2025-04-29
  • Python3定义函数参数类型

    Python是一门动态类型语言,不需要在定义变量时显示的指定变量类型,但是Python3中提供了函数参数类型的声明功能,在函数定义时明确定义参数类型。在函数的形参后面加上冒号(:)…

    编程 2025-04-29
  • Python实现计算阶乘的函数

    本文将介绍如何使用Python定义函数fact(n),计算n的阶乘。 一、什么是阶乘 阶乘指从1乘到指定数之间所有整数的乘积。如:5! = 5 * 4 * 3 * 2 * 1 = …

    编程 2025-04-29

发表回复

登录后才能评论