doufan6886 2011-01-13 21:29
浏览 360
已采纳

PHP chunk_split()问题

When I use the chunk_split() function it ruins my accents characters and special characters and I was wondering how can I correct this problem?

Here is my PHP code.

if(count($text) > 0) {
    $text = implode(' ', $text);
    echo chunk_split($text, 8, '<br />'); 
}

Ruined accent characters.

&a mp; Post er ÀÁ� �ÃÄÅ� �áâã� �åÒÓ� �ÕÖØ� �óôõ� �øÈÉ� �Ëéè� �ëÇç� �ÍÎÏ� �íîï� �ÚÛÜ� �úûü� �Ññ

  • 写回答

2条回答 默认 最新

  • doubu4406 2011-01-13 21:32
    关注

    chunk_split isn't multibyte safe and there isn't a native mb_chunk_split.

    http://php.net/manual/en/function.chunk-split.php

    Here is a function to do that from a commenter in the php docs:

    <?php
    
    //from Peter from dezzignz.com 05-Apr-2010 11:30 @ php.net
    
    function mbStringToArray ($str) {
        if (empty($str)) return false;
        $len = mb_strlen($str);
        $array = array();
        for ($i = 0; $i < $len; $i++) {
            $array[] = mb_substr($str, $i, 1);
        }
        return $array;
    }
    
    function mb_chunk_split($str, $len, $glue) {
        if (empty($str)) return false;
        $array = mbStringToArray ($str);
        $n = 0;
        $new = '';
        foreach ($array as $char) {
            if ($n < $len) $new .= $char;
            elseif ($n == $len) {
                $new .= $glue . $char;
                $n = 0;
            }
            $n++;
        }
        return $new;
    }
    
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度