如果str为要输出的的字符串,那么
控件.Canvas.TextWidth(str)就为字符串的宽度。 
若宽度太宽了,你只能用小一点的字体了。

解决方案 »

  1.   

    这样的bug在许多网站上都可以找到啊,如何解决呢??
      

  2.   

    >>关键是让相当长度的字符串从数据库读出后,放入表格中,并使之在规定的范围内显示。什么就“在规定的范围内显示”?不懂。能不能解释清楚一下。
      

  3.   

    请多多支持!http://www.csdn.net/expert/topic/236/236042.shtm 
      

  4.   

    “在规定的范围内显示”就是width=xxx,由于连续的英语字母php中默认为一个英语单词,所以当长度大于xxx时会使表格变形!请问大家有没有什么解决之道啊
      

  5.   

    “连续的英语字母php中默认为一个英语单词”,不对~~这个是html的通病~~
      

  6.   

    http://www.csdn.net/expert/topic/171/171854.shtm分
      

  7.   

    <?
    $MAXLEN = 40;
    $chTail = ord(substr($allStr, $MAXLEN-1, 1)); 
    if($chTail >= 128)
    {
    $strLimited = substr($allStr, 0, $MAXLEN-1);
    }
    else
    {
    $strLimited = substr($allStr, 0, $MAXLEN);
    }
    return(trim($strLimited));
    ?>
      

  8.   

    try:
    <table>
    <tr><td style="word-break:break-all">
    fjalfskfdfa....
    </td></tr>
    </table>
      

  9.   

    写一个函数对字符串进行处理就行了,每隔一定数量的字符就加一个“<br>”。
    这样的函数写的话很easy把,偶就不写了,呵呵。
    思路也很多,随便写一个把。
    用explode()把字符串切成数组
    然后把数组指定元素."<br>"
    然后用implode()再合成字符串就ok了。
      

  10.   

    我不知你要的是不是这样的效果是不是比如一个字符串有20个字符长,你只想要他显示10个?如果是你可以用 substr(变量,起使位置,字符长度)
      

  11.   

    请大家集思广益,把这个问题kill掉吧
      

  12.   

    <table>
    <tr><td style="word-break:break-all">
    dfdfdfdsfdsf.
    //你要显示的东西
    </td></tr>
    </table>
    可以行的通!
      

  13.   

    sigh,我说的那个方法,都没有试一下??!!
      

  14.   

    <table>
    <tr><td style="word-break:break-all">
    dfdfdfdsfdsf.
    //你要显示的东西
    </td></tr>
    </table>
    就是這樣的.wangpi說的對极了.