首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

带有utf-8的php substr()函数在最后留下 标记

substr() 函数是 PHP 中用于截取字符串的函数。它的语法如下:

代码语言:php
复制
substr(string $string, int $start, int|null $length = null): string|false
  • $string:要截取的字符串。
  • $start:截取的起始位置,如果为负数,则表示从字符串末尾开始计算。
  • $length:可选参数,表示截取的长度。如果未指定,则截取到字符串末尾。
  • 返回值:返回截取的字符串,如果出错则返回 false。

在这个问题中,带有 utf-8 的 substr() 函数在最后留下标记的意思是,我们需要使用 substr() 函数截取一个字符串,但要确保截取的结果中最后一个字符是标记。

为了实现这个需求,我们可以使用 mb_substr() 函数,它是 PHP 中专门用于处理多字节字符的字符串截取函数。它的语法与 substr() 函数类似,但是支持多字节字符集。

下面是一个示例代码:

代码语言:php
复制
function substr_with_last_marker(string $string, int $length): string {
    $last_char = mb_substr($string, $length - 1, 1, 'utf-8');
    $substr = mb_substr($string, 0, $length - 1, 'utf-8');
    return $substr . $last_char;
}

// 示例用法
$string = "带有utf-8的php substr()函数在最后留下标记";
$length = 10;
$result = substr_with_last_marker($string, $length);
echo $result;

输出结果为:带有utf-8的php substr()函数在最后留下标,可以看到最后一个字符是标记。

关于 PHP 的 mb_substr() 函数的更多信息,可以参考腾讯云的文档:mb_substr() 函数

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PHP零基础入门

内置函数是指PHP本身提供各类库函数。 字符串函数库,是PHP核心组成部分 获取字符串长度:strlen函数 int strlen(string $str) utf-8中文一个代表3个。...获取字符串位置相关函数 strpos函数,返回一个字符另一个字符第一次出现位置 stripos函数,同理,但是忽略大小写 strrpos函数,返回是一个字符串另一个字符串最后一次出现位置,strripos...函数忽略大小写 字符串截取函数 substr函数,用于实现截取字符串 string substr(string $string, int $start [, int $length]) $str = '...> // jpEg strstr函数,将返回一个字符串另一个字符串中第一次出现位置,区分大小写。同理,stristr函数忽略大小写。...strrchr函数,将返回一个字符串另一个字符串最后一次出现位置。 strrev函数,用于反转字符串。 md5();函数加密。 分割字符串 explode函数,使用一个字符串分割另一个字符串。

1.5K20

addslashes防注入绕过案例(AFSRC获奖白帽子情痴)

于是就写篇基础审计文章,实际情况中,会出现各种各样绕过防注入手法,我这里只是列举了我实际审计中遇到比较常见绕过方法。...> 比如说这段代码就存在宽字节注入,或者是使用iconv,mb_convert_encoding转换字符编码函数导致宽字节注入,来一个自己审计中发现宽字节注入案例 elseif($act == 'get_company...,$key); $key这个可控变量addslashes之后用iconv函数转换编码,造成宽字节注入 ?...最后再举一个字符截断绕过addslashes案例,这个个人觉得比较有趣 这套系统也是通过addslashes来防御sql注入 ..........$_POST[“content”]第两百个字符设置成’,然后被addslashes后就变成\’,然后进过substr函数,只截取前两百个字符,\留下了,’因为是第201个,所以就没被截取下来。

3.8K90
  • 3分钟短文 | PHP 如何优雅地获取文件扩展名?别再explode了

    引言 通常文件扩展名Linux系统上是没有意义,仅是用来标记该文件属于哪种类型?但是大多数,我们从浏览器上访问Web程序。...如果文件名字符串比较特殊,这样程序会不会 explode 失败返回 False?从而抛出异常? 有可能会!所以这个写法是有 bug PHP 都准备好函数了!...PHP 是一个工具箱,内置了无数实用函数。有一个函数就是专门设计来解决这个需求:pathinfo。...用 PHP 自带函数实现这个功能本来就有 N 多个办法。下面我们贴几个看起来还不错轮子。最起码容错性比最上面的那个写法高一些。...写在最后 比较来比较去,还是 pathinfo 最香。 因为这就是 PHP 官方给定方式,为啥不用?

    74430

    php 笔记 原

    配置php 开发IDE      (1)首先配置环境变量 系统变量中添加php路径E:\wamp\bin\php\php5.5.12      (2)打开sublime -> Tools -...; 代码将输出:12 strpos() 函数用于字符串内查找一个字符或一段指定文本。 echo strpos("Hello world!"...,"\\");//斜线最后一次出现位置7 strtolower($q)==strtolower(substr($a[$i],0,strlen($q)))// substr截取部分字符串 使用 PHP...使用PHP stripslashes()函数去除用户输入数据中反斜杠 (\) $data = htmlspecialchars($data); htmlspecialchars() 函数把一些预定义字符转换为...7、数组分类与用法 数值数组 - 带有数字 ID 键数组 关联数组 - 带有指定数组,每个键关联一个值 多维数组 - 包含一个或多个数组数组  遍历数值数组 <?

    1.2K20

    php 字符串替换中文,PHP中文字符串替换其中为*方法

    大家好,又见面了,我是你们朋友全栈君。 项目中需要对字符串部分进行隐藏或者替换。譬如手机号码中间几位进行隐藏,中文名字中间替换为*号等。 英文和数字等可直接用php自带函数进行处理。...但是中文因为编码缘故会出现不一样效果。需要自己定义方法进行处理。此处针对大多数UTF-8用户。 //英文和数字等 substr_replace() 函数把字符串一部分替换为另一个字符串。...****4999 //对于UTF-8中文 //使用该方法可以替换中文字符串内容–使用方法类似于substr_replace_cn //utf-8下一个汉字占三个字节 //$repalce 为要替换成字符串...此处编码要与下面mb_substr()所使用一致 if(count) { return !...string; } if($len == 0){ end = count; //传入0则替换到最后 }else{ end = start + } $i = 0; $returnString =

    7.8K20

    php截取字符串几个实用函数

    大家好,我是架构君,一个会写代码吟诗架构师。今天说一说php截取字符串几个实用函数,希望能够帮助大家进步!!! 1.substr(源字符串,其实位置[,长度])-截取字符串返回部分字符串 <?...php echo mb_substr("php点点通",1,3,"UTF-8");//hp点 ?...> 代码如下: substr(string,start,length) 其中start参数 正数 - 字符串指定位置开始 负数 - 在从字符串结尾指定位置开始 0 - 字符串中第一个字符处开始...*#s', '1',str); } echo utf8Substr("php点点通",1,5);//hp点点通 ?> (3)支持 utf-8、gb2312都支持汉字截取函数  <?...php //同时支持 utf-8、gb2312都支持汉字截取函数 ,默认编码是utf-8 function cut_str(string, sublen, start =0, code ='UTF-8

    1.2K20

    bugku—Web_Writeup

    ,因为没有预定要删字符,所以会删除全部字符 // 处理一个文本文件中数据读入进一个字符串中,利用上述两个函数进行格式处理 // 结合 $c 变量最后得到字符串就是一个空内容 ==...> 综合分析: PHP源码表达flag显示是通过 isset(a) 和 a == 我们需要就是构造一个变量a给php源码,然而变量c函数联合下,变量C内容是空,于是我们构造一个URL并且... </for 从源码和页面可以初步认为,是需要提交一个数字被md5函数处理后再被substr函数处理结果与7fdaf4形成相等。...PHP substr()函数substr( string , start , length) 返回String字符串中从start开始,length长度字符串 综上,就是对MD5进行截断比较...,Vim备份文件符号“~” 结合页面提示“来错了地方”,表示页面没错但是位置错了: http://123.206.31.85:10015/index.php~ ps原页面的地址是1ndex.php留下了一个小小坑哦

    1.1K20

    php快速入门】学习笔记

    注:最后有面试挑战,看看自己掌握了吗 文章目录 前言 PHP和HTML混合编写 单/双引号包围法,PHP中输出HTML代码 使用HEREDOC/NOWDOCPHP中输出HTML代码 php插入html...php OutputContent(); ?> 自从PHP5.4开始,即使标记关闭情况仍然可以使用。...因此,HTML中嵌入PHP变量时使用这种短标记输出语法将会相当方便。 使用 <?= php插入html php中文乱码 <?...5.带有参数,表示可以传任意多个参数。 6.带有callback参数,表示回调函数。需要传一个函数进来。...获取 iconv 扩展内部配置变量 mb_substr_count 统计字符串出现次数 mb_check_encoding 检查字符串指定编码里是否有效 mb_strrpos 查找字符串一个字符串中最后出现位置

    3.7K30

    Smarty模板引擎

    因为静态文件中没有类、函数定义,使用include可以降低服务器压力(我自己猜。。。)。 2、如何完全去除视图文件中PHP标记? 首先,视图中典型PHP代码是这样:**** 再者,前端工程师能看得懂、比较喜欢HTML标签形式代码是这样:{$name} 最后,我们把 {name} 替换成 <?...来访问数组元素; Smarty模板中,使用"->"来访问对象属性和方法。 PHP文件: <?php // 引入Smarty类 include_once('....’} 3、date_format调节器参数及应用 4、truncate调节器参数及应用 smarty中truncate调节器,对应PHPsubstr()函数或mb_substr()函数。...substr()函数是按字节截取字符串; mb_substr()函数是按字符截取字符串,但需要开启PHP扩展。 ----- END -----

    4.7K70

    PHP全栈学习笔记23

    PHP标记,注解,常量,预定义变量,变量,数据类型,转换,运算符。...stripslashes()函数对转义后进行还原 截取字符串 substr()函数从0开始,进行截取字符串要注意编码格式,切记页面编码不能设置为utf-8,如果页面是utf-8编码格式,那么就使用...substr_replace()函数 substr_replace()函数对指定字符串中部分字符串进行替换。...检索字符串 strstr()函数substr_count()函数 strstr()函数获取一个指定字符串另一个字符串中首次出现位置到后者末尾子字符串。...> substr_count()函数 获取子串字符串中出现次数 ltrim()函数和rtrim()函数 trim()函数用于去除字符串开始位置和结束位置空白字符,并返回去掉空白字符后字符串。

    3.7K30

    PHP实现只保留字符串首尾字符功能示例【隐藏部分字符串】

    本文实例讲述了PHP实现只保留字符串首尾字符功能。分享给大家供大家参考,具体如下: 整理提供两个PHP函数,用于字符串隐藏效果 ①....隐藏部分字符串 /** * 隐藏部分字符串 * # 此方法多用于手机号码或身份证号、银行卡号中间部分数字隐藏 */ function func_substr_replace($str, $replacement...)) { $str1 = mb_substr($str,0,$start,'utf-8'); $str2 = mb_substr($str,intval($start+$length),...NULL,'utf-8'); } else { $str1 = mb_substr($str,0,1,'utf-8'); $str2 = mb_substr($str,$len-1,1...更多关于PHP相关内容感兴趣读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php+

    1.2K21

    PHP笔记

    正则 文件读写 使用数学函数获取随机验证码 正则 文件读写 PHP 一、什么是PHP PHP(Hypertext Preprocessor)即超文本预处理器,是服务器中执行脚本语言,WEB开发可以并入...选择中文 其中,可以访问页面www文件夹中,默认执行index.php文件 启动时可能会遇见问题 因为wampserver默认启动服务器是80,并且若本机上下载sql server 数据库时,...> 适用于多文本行输出 其中值得注意是 两个标记符之间不能有空格,进一步说明 第一个sst标记符后面不能存在空格 第二个sst标记符前面不能存在空格 还有标识符号可以取除了关键字以外所有字符,但必须保证上下标记符保持一致...php $str ="php.web"; echo substr($str,0,3); ?> 结果打印php 打印汉字个数 mb_substr(); <?...php header("Content-type:text/html;charset=UTF-8;"); $str ="耗子尾汁"; echo mb_substr($str,0,2

    19810

    跟我学习php字符串常用函数-下篇

    PHP_URL_FRAGMENT 其中一个来获取 URL 中指定部分 string。..., 和文件编码方式有关系 header('content-type: text/html; charset=utf-8;'); $str = "做人不能欺骗自己"; echo mb_substr($str...] ) 查找字符串首次出现位置 $haystack, hanstack字符串中查找 $needle, 查找什么字符 $offset, 查找起始索引 返回, 成功返回对应索引位置,没查到返回...$length ] ) 截取字符串 start, 起始索引 $length, 截取长度,不写截取到最后 $str = 'a/b.txt'; echo substr($str, strpos($...str_ireplace函数忽略大小写 $search, 要被替换字符或字符串 $replace, 替换心字符或字符串 $subject, 替换对象,即总字符串 $count, 替换发生次数

    44920

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

    本文实例讲述了php字符串截取函数mb_substr用法。...php mb_internal_encoding ("UTF-8"); //如果把UTF-8改为编码,下面针对于中文字符串处理值会改变。 echo mb_internal_encoding()....总结: 1、处理英文字符串时候,该函数第四个参数($encoding)可以忽略。 2、处理中文字符串时候,就要小心了,一定要考虑编码问题,编码不同,中文值也不同。...补充:substr和mb_substr区别 异同点: 两个函数都是截取字符串长度,不同是mb_substr可以针对多字节编码汉字进行截取,从而防止乱码出现 实例说明: 示例1: <?...运行结果: 我 我是中 utf8编码下,由于一个汉字占3个字节,所以第一个输出是: 我 第二个输出是: 我是中 示例2: <?php $chuan="我是中国人!"

    2.7K21

    DedeCMS v5.7 SP2后台SSTI到RCE再到GetShell

    dedecms模板格式且带有runphp="yes"标签代码实现模板注入,并且可由此实现RCE与Getshell 漏洞分析 漏洞利用过程中我们选择模板页面未网站首页,下面以加载模板首页为例进行正向分析...之后L17引入了/include/common.inc.php文件,该文件定义了DedeCMS一些相关配置,本漏洞中较为重要为cfg_basedir以及cfg_templets_dir,具体配置如下所示...之后index.php中会通过数据库查询来获取homepageset数据信息,并且将templet字段值作为参数传递给MfTemplet函数: ?...此时MfTemplet函数如下所示: ? 之后index.php中会初始化一个PartView类并调用SetTemplet函数,并传入template相对网站根目录物理路径信息: ?...此时$this-dtp构造函数中被初始化为一个DedeTagParse类实例对象,所以此时调用为DedeTagParseloadTemplet函数,之后跟进该函数: ?

    8.6K20

    PHP 之道笔记整理:最佳实践与安全指南

    截至本文写作时,PHP 的当前稳定版本是 8.3。PHP 8.3 相较于老旧版本(比如,PHP 5.6)性能上有了显著提升,并且加入了很多新特性和语法糖,同时做了向下兼容处理。...日期和时间 PHP 开发中,经常需要处理日期和时间。PHP DateTime 类提供了一个面向对象接口,让日期和时间读取、写入、比较和计算变得更加简单。...PHP 层面的 UTF-8为了正确处理 UTF-8 字符串,我们应该使用 mb_* 函数替代传统字符串操作函数。例如,使用 mb_substr() 替代 substr() 来避免潜在乱码问题。<?...php$str = '这是一个测试字符串';echo substr($str, 0, 7); // 可能会乱码echo mb_substr($str, 0, 7, 'UTF-8'); // 正确做法记住...,处理 UTF-8 字符串时使用 mb_* 函数,是保障数据完整性和避免乱码有效方法。

    15510
    领券