<optgroup id="sosok"><acronym id="sosok"></acronym></optgroup><table id="sosok"></table>
  • <li id="sosok"></li>
    <kbd id="sosok"></kbd>
  • <optgroup id="sosok"><acronym id="sosok"></acronym></optgroup>
    <option id="sosok"></option>
  • AB模板網:專注于dede模板,織夢源碼,織夢模板,網站模板下載,dedecms模板,網站源碼,dedecms教程以及各類手機網站模板和企業網站模板分享.

    織夢模板

    網站模板搜索
    營銷型模板 政府網站模板 自適應模板 雙語模板 標簽大全

    注冊

    dedecms字符串截取函數怎么用

    網站模板下載 www.813358.com / 2021-05-07
    dedecms織夢模板的cn_substr_utf8字符串截取函數商榷
     
    在phpsir看到的這篇文章,主要是說下dedecms 的cn_substr_utf8函數好像有些問題,研究dedecms的朋友可以看下
     
    在dedecms里面 cn_substr_utf8 函數是這樣的
     
    代碼如下:

    /**
    * utf-8中文截取,單字節截取模式
    *
    * @access public
    * @param string $str 需要截取的字符串
    * @param int $slen 截取的長度
    * @param int $startdd 開始標記處
    * @return string
    */
    if ( ! function_exists('cn_substr_utf8')) {
    function cn_substr_utf8($str, $length, $start=0) {
    if(strlen($str) < $start+1) {
    return '';
    }
    preg_match_all("/./su", $str, $ar);
    $str = '';
    $tstr = '';
    </p> <p> //為了兼容mysql4.1以下版本,與數據庫varchar一致,這里使用按字節截取
    for ($i=0; isset($ar[0][$i]); $i++) {
    if(strlen($tstr) < $start) {
    $tstr .= $ar[0][$i];
    } else {
    if(strlen($str) < $length + strlen($ar[0][$i]) ) {
    $str .= $ar[0][$i];
    } else {
    break;
    }
    }
    }
    return $str;
    }
    }
    其中
     
    代碼如下:

    if(strlen($str) < $length + strlen($ar[0][$i]) )
    一行可能會造成截取后多了一個字符,可以考慮改為
     
    代碼如下:

    if(strlen($str) < $length + strlen($ar[0][$i]) -1 )
    測試代碼如下
     
    代碼如下:

    $f = "你好fasdfa你fasdf#e#";
    $pos = strpos($f,'#e#');
    var_dump($pos);
    var_dump(cn_substr_utf8($f,$pos));
    var_dump(cn_substr_utf82($f,$pos));
    </p> <p>function cn_substr($str, $slen, $startdd=0) {
    global $cfg_soft_lang;
    if($cfg_soft_lang=='utf-8') {
    return cn_substr_utf8($str, $slen, $startdd);
    }
    $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) {

    本文由AB模板網整理發布,轉載請說明出處:http://www.813358.com/dedecmsjc/8421.html

    有問題可以加入織夢技術QQ群一起交流學習

    ☉首先聲明,只要是我們的vip會員全站所有資源均可以免費下載,不做任何限制(了解更多)

    ☉本站的源碼不會像其它下載站一樣植入大量的廣告。

    ☉本站提供的織夢源碼,都是做好測試好發布的,均可放心使用。

    ☉本站提供的織夢源碼,均帶數據及演示地址。可以在任一源碼詳情頁查看演示地址。

    ☉為了vip利益的最大化,我們還提供了vip贈品(了解更多

    ☉如有其他問題,請加網站客服QQ(9490489)進行交流。

    相關教程

    織夢模板_隨機Tags

    廚房網站模板 古玩拍賣網站模板 商貿協會政府網站模板 蔬菜水果網站模板 工程造價網站模板 品牌設計網站源碼網站模板 五金零部件網站模板 母嬰網站模板 網絡網站模板 醫療儀器網站模板 翻譯社網站模板 古董鑒定網站模板

    推薦教程

    首頁 VIP專區 html模板 會員中心
    第一福利视频网站在线,久草在线新视免费首页,久草草在线视视频免费为大家提供最新最全的免费电影,电视剧,综艺,动漫无广告在线云点播,全网更新最快。希望大家喜欢!