php字符串截取中文截取2,单字节截取模式_php技巧

//中文截取2,单字节截取模式
function cn_substr($str,$slen,$startdd=0){
    $restr = "";
    $c = "";
    $str_len = strlen($str);
    if($str_len < $startdd+1) return "";
    if($str_len < $startdd + $slen || $slen==0) $slen = $str_len - $startdd;
    $enddd = $startdd + $slen - 1;
    for($i=0;$i<$str_len;$i++)
    {
        if($startdd==0) $restr .= $c;
        else if($i > $startdd) $restr .= $c;

        if(ord($str[$i])>0x80){
            if($str_len>$i+1) $c = $str[$i].$str[$i+1];
            $i++;
        }
        else{    $c = $str[$i]; }

        if($i >= $enddd){
            if(strlen($restr)+strlen($c)>$slen) break;
            else{ $restr .= $c; break; }
        }
    }
    return $restr;
}
function cn_midstr($str,$start,$len){
    return cn_substr($str,$slen,$startdd);
}

时间: 2024-08-01 19:56:29

php字符串截取中文截取2,单字节截取模式_php技巧的相关文章

php截取html字符串及自动补全html标签的方法_php技巧

本文实例讲述了php截取html字符串及自动补全html标签的方法.分享给大家供大家参考.具体分析如下: 这里总结一下关于利用php截取html字符串自动补全html标签,实际开发中会经常碰到,很多人直接先strip_tags过滤掉html标签,但是就只剩下纯文本了,可读性非常差,下面是一个函数,代码如下: 复制代码 代码如下: /**  * 截取HTML,并自动补全闭合  * @param $html  * @param $length  * @param $end  */ function

php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)_php技巧

本文实例分析了php字符串比较函数用法.分享给大家供大家参考,具体如下: 直接比较字符串是否完全一致,可以使用"=="来进行,但是有时候可能需要进行更加复杂的字符串比较,如部分匹配等. 1.strcmp()函数:该函数进行字符串之间的比较,在比较的时候,区分大小写. 声明: strcmp(string str1,string str2)   该函数对传入的两个字符串参数进行比较,如果两个字符串完全相同,则返回0;如果按照字典顺序str1在str2后面,则返回一个正数;如果str1小于s

PHP截取IE浏览器并缩小原图的方法_php技巧

本文实例讲述了PHP截取IE浏览器并缩小原图的方法.分享给大家供大家参考,具体如下: // 截取一个窗口 Capture a window (IE for example) $ie = new COM("InternetExplorer.Application"); $ie->Navigate2($webaddress); $oWSH = new COM("WScript.Shell"); while ($ie->ReadyState!=4) uslee

PHPWind与Discuz截取字符函数substrs与cutstr性能比较_php技巧

以掌握使用Benchmark_Iterate类工具的方法. 目录 一,什么是PEAR与Benchmark 二,性能比较代码准备与调试 三,性能比较测试结果 四,性能比较测试总结 五,附性能比较源代码下载 一,什么是PEAR与Benchmark 请参考PHP性能优化系列 第二期 PHP性能优化工具篇Benchmark类调试执行时间 第一期 PHP性能优化准备篇图解PEAR安装 二,性能比较代码准备与调试 测试环境说明 操作系统:Windows xp Service Pack 3 PHP版本:PHP

php去掉字符串的最后一个字符附substr()的用法_php技巧

今天项目中用到,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符",",最终结果为1,2,3,4,5,6 代码如下: 复制代码 代码如下: $str = "1,2,3,4,5,6,"; $newstr = substr($str,0,strlen($str)-1); echo $newstr; 解读: 采用php的substr()方法, 语法: string substr(string string, int start, int [l

php版微信公众平台回复中文出现乱码问题的解决方法_php技巧

本文实例分析了php版微信公众平台回复中文出现乱码问题的解决方法.分享给大家供大家参考,具体如下: 微信公众平开发时碰到回复中文乱码了,这个问题小编发现是编码问题,其实只要把编码转成utf8就可以解决了,具体来看看. 很多微信公众平台的自动回复程序都是 ThinkWechat.class.php 这个类开发的,今天碰到一个莫名其妙的乱码问题,查问题发现是GB2312编码导致,所以要修改源码. 先增加一个方法: /** * 检测是否UTF-8 * @param $str * @return boo

php中文繁体和简体相互转换的方法_php技巧

本文实例讲述了php中文繁体和简体相互转换的方法.分享给大家供大家参考.具体分析如下: 下面的代码用到了繁体和简体字库对照表,实现繁体与简体字的转换功能 复制代码 代码如下: <?php class utf8_chinese {   private $utf8_gb2312;   private $utf8_big5;   private $data;   public function __construct($data){       $this->utf8_gb2312 = $data[

PHP中实现中文字符进制转换原理分析_php技巧

一,中文字符转十进制原理分析 GBK编码中一个汉字由二个字符组成,获取汉字字符串的方法如下 复制代码 代码如下: $string = "不要迷恋哥"; $length = strlen($string); for($i=0;$i<$length;$i++){ if(ord($string[$i])>127){ $result[] = ord($string[$i]).' '.ord($string[++$i]); } } var_dump($result); 由于一个汉字为

php表单提交实例讲解_php技巧

本文为大家分享了一个特别简单的php表单提交实例,具体的实现步骤如下: 实例代码如下: <form action="someform.php" method="post"> <table width="541" border="0"> <tr> <td width="26%">姓名:</td> <td width="74%"