晕为什么要这么做呢?为了排版吗?匆忙帮你写了一段,也不知道对不对,高手指教!!!
<?
//把数据提取到一个变量里
//假设字段:id,content
$result = mysql_query("SELECT * FROM table1");
while ($array = mysql_fetch_array($result)) {
$string = get_need_string($array[content]);
print($array[id] .'<br>'. $string .'<hr>';
}/**
 * 函数:get_need_string()
 * 作用:在一个字符串内插入指定的标记
 * 参数:$string 原始字符串 $length 每段需要截取的长度 $flag 需要插入的标记
 * 返回:返回合成后的结果。
 * 注意:这里我们使用了mb类的函数,为了保证汉字的兼容
 */  
function get_need_string($string, $length=60, $flag='<br>') {
$str_len = mb_strlen($string);
$rs_string = '';
for ($i=0; $i<$str_len; $i+=$length) {
$rs_string .= mb_substr($string, $i, $length);
$rs_string .= $flag;
}
return $rs_string;
}
?>

解决方案 »

  1.   

    不行啊,执行后出现 Fatal error: Call to undefined function: mb_strlen() in C:\www\lhpd\index.php on line 509 这个提示!请大家帮帮忙啊!
      

  2.   

    呵呵,mb_strlen()是php中的函数
    mb_strlen() returns number of characters in string str having character encoding encoding. A multi-byte character is counted as 1. 你的php不支持此函数,莫非
      

  3.   

    mb_strlen
    (PHP 4 >= 4.0.6)mb_strlen -- Get string length
      

  4.   

    没有啊,我的是php4.3.1的!不懂为什么出不来?
      

  5.   

    mbstring扩展没装。如果mysql是4。1以上,字段设成中文对应编码,sql里面直接就可以按中文切割。
      

  6.   

    晕把你的mb扩展装上。
    假设你是使用Windows XP,并且php.ini已经在c:\windows目录下,那么执行下面的操作来打开你的mb函数:把 c:\php\ext\php_mbstring.dll 文件复制到 c:\windows目录下,同时打开 c:\windows\php.ini文件,找到下面一行:;extension=php_mbstring.dll,把前面的 ; (分号)去掉,然后重启你的Web服务器。然后你写一个 phpinfo() 运行一下,如果发现mbstring的内容,如下面:
    mbstring
    Multibyte Support  enabled  
    Multibyte string engine  libmbfl  
    Multibyte (japanese) regex support  enabled  
    Multibyte regex (oniguruma) version  3.7.0  那么就证明你的mbstring扩展装好了,就能够使用mbstring的函数了,比如上面的mb_strlen之类的函数