php截取字符串,解决乱码问题与html标签问题

public function  f截取字符串($str,$start,$len) {//$str是指字符串,$start指字符串的起始位置,$len指字符串长度
    $len=$len*3;
    $strlen=$start+$len; //用$strlen存储字符串的总长度
    $tmpstr=‘‘;
    for($i=0;$i<$strlen;$i++) {
        if(ord(substr($str,$i,1))>0xa0) { //如果字符串中出现汉字,也就是ASC码大于0xa0的。作出判断与英文字符不一样。
            $tmpstr.=mb_substr($str,$i,2,‘utf-8‘);
            //$tmpstr.=substr($str,$i,2);
            $i++;
        }
        else
            $tmpstr.=mb_substr($str,$i,1,‘utf-8‘);
    }
    return $tmpstr;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-08 00:54:01

php截取字符串,解决乱码问题与html标签问题的相关文章

PHP 截取字符串后乱码的解决方案

今天遇到一个坑,左右调试坑的我一脸懵逼,当我们对一条字符串进行截取的时候,通常第一个想到的就是substr()函数了,但是如果是中文+数字的字符串的话,这时候使用substr进行截取就会出现乱码的问题,这是因为substr会把中文按照每个汉字三个字节进行截取,故而截取中文的时候并不适用,另外一个方法就是使用mb_substr()或者mb_strcut()函数进行截取,并设置截取后的编码格式为'utf-8',使用这两个函数需要开启php.ini中php_mbstring.dll扩展,将前面的;去掉

php截取中文字符串无乱码的方法

利用php内置方法mb_substr截取中文不乱码,使用起来非常简单 <?php $str = '我喜欢laravel or yii2'; echo mb_substr($str, 0, 1, 'utf8'); //输出 我 exit; mb_substr方法比substr多一个参数,用来指定字符串编码.utf-8编码截取示例 $str = '我like laravel or yii2'; echo mb_substr($str, 0, 2, 'utf8'); //输出 我I 中英混合也完全没有

thinkphp内置截取字符串函数无法显示省略号解决方法

thinkphp内置截取字符串函数无法显示省略号解决方法 functions.php function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true){ if(function_exists("mb_substr")) {      if($suffix)    {         if($str==mb_substr($str, $start, $length, $charset))

Python字符串的encode与decode研究心得——解决乱码问题

转~Python字符串的encode与decode研究心得——解决乱码问题 为什么Python使用过程中会出现各式各样的乱码问题,明明是中文字符却显示成“/xe4/xb8/xad/xe6/x96/x87”的形式?为什么会报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)”?本文就来研究一下这个问题. 字符串在Python内部的表示是unico

无乱码截取字符串,中英文混合(转)

//无乱码截取字符串,中英文混合 function left($str, $len, $charset="utf-8"){ //如果截取长度小于等于0,则返回空 if( !is_numeric($len) or $len <= 0 ){ return ""; } //如果截取长度大于总字符串长度,则直接返回当前字符串 $sLen = strlen($str); if( $len >= $sLen ){ return $str; } if ( strtol

springmvc完成ajax功能以及返回字符串出现乱码的解决方法

1.加入jackson的jar包 Jackson是一个简单基于Java应用库,Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象 返回字符串出现乱码的原因 原文地址:https://www.cnblogs.com/sh-0131/p/11456233.html

php截取字符串

php截取字符串 1.substr(源字符串,其实位置[,长度])-截取字符串返回部分字符串 <?php $str ="phpddt.com"; echo substr($str, 2); //pddt.com echo substr($str, 2,3); //pdd echo substr($str, -2); //om 负数从结尾开始取 ?> 但是当你截取中文字符串的时候很容易出现乱码,因为一个汉字是两个字节,而一个英文字母是一个字节.解决办法如下: 2.mb_sub

PHP按符号截取字符串的指定部分

字符串截取在php开发中是比较常用的:而且对于截取的需求也有很多种:就比如说对url链接的操作:http://www.baijunyao.com/index.php/Home/Index/article/aid/12 有时我们想截取最后一个斜杠'/'后面的数字: 有时我们又需要截取第一个斜杠'/'前面的内容判断用户输入的url链接带不带http://等等: 字符串的截取php内置函数就有很多种:简单的写几个示例: 1 $str='123/456/789/abc'; 截取第一个斜杠前面的内容可以这

sql语句中截取字符串

今天在开发过程中因为要用到合并单元格,在程序里实现了以后,查出来的数据太长,都把格式撑大了,后来想想可以在sql语句查询的时候就截取,就去网上找了一下,挺好用,就转了过来: 合并单元格: /// <summary>    /// 合并GridView中某列相同信息的行(单元格)    /// </summary>    /// <param name="GridView1">GridView</param>    /// <para