<?php
$a = "遵守中华人民共和国有关法律";
preg_match_all("/.{2,8}/", $a, $m);
echo implode("<br>", $m[0]);
?>

解决方案 »

  1.   

    当内容带有其他字符,如:英文数字符号等时候就会出错.$a = "遵守中华人民共和国isjei有关法律";遵守中华
    人民共和
    国isjei?br/>泄胤?
      

  2.   

    <?php
    $a = "遵守中华人民共和国有关法律";
    preg_match_all("/.{2,8}/", $a, $m);
    print_r($m);
    //echo implode("<br/>", $m[0]);
    ?>
      

  3.   

    <?php
    print_r(chunk_split('遵守中华人民共和国有关法律', 8));
    ?> 
    output:
    遵守中华
    人民共和
    国有关法
      

  4.   

    <?php
    print_r(chunk_split('遵守中gggggggggggggg华人ffffffff民共和国有关法ggggg律', 8));
    ?> 
    ---------- David程序调试 ----------
    遵守中gg
    gggggggg
    gggg华人
    ffffffff
    民共和国
    有关法gg
    ggg律
     
    Output completed (0 sec consumed) - Normal Termination
      

  5.   

    <?php
    function cn_chunk_split($str, $len)
    {
    preg_match_all("/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/", $str, $out);
    $arr = array_chunk($out[0], $len);
    return array_map(create_function('$r', 'return join("", $r);'), $arr);
    }
    print_r(cn_chunk_split('遵守中华人民共和国有关法律', 5));
    ?>