第一,如何限制显示的主题字数,比如超过规定的字符的标题,其后就不继续显示。
输入的时候要是想判断,用js,输出的时候要是想判断用strlen和substr函数第二,我用mysql储存新闻内容,本来我输入的时候每段之前有2个空格,但是显示的时候没有。怎么解决??
用函数nl2br

解决方案 »

  1.   

    1.从数据库中取出标题,然后用substr截取限定长度的字符数(如20),然后输出到HTML中。
      if(strlen($title)>$titleLen) //$titlelen是设置的显示长度
      {
         $tips=substr($title,0,$titleLen-3);
      }2. 如果从表单提交,我觉得空格也是可以被存储的,我也使用了,nl2br()函数,但是用来解决换行的问题。 本函数将换行字符转换成 HTML 换行的 <br> 指令。
      

  2.   

    我也用了nl2br函数,但是这个只能处理换行,不能处理空格。
    我采用的是表单方式提交。
      

  3.   

    用html就能解决第一个问题,用:maxlength
    第二个方法很多啊.
    比如str_replace等等
      

  4.   

    MySQL存诸了空格,显示时也取了空格,但是在浏览器中,却被浏览器忽略了。
    至于第一个问题没有明白你的意思。呵呵,是指新闻输入时限制呢还是新闻显示时限制呢?
      

  5.   

    显示的时候限制。怎么做才可以在鼠标移动到标题的时候显示提示信息呢??比如,有个标题是20个字,但是我限制到了10个,如何鼠标移动到这个标题上显示整个标题?您说的被浏览器忽略了,那么如何才能被浏览器识别显示呢???tonycrow,您说的str_replace等等,可否具体举个例子,谢谢!!
      

  6.   

    这个用title属性,具体如下:
    <a href="链接地址" title="提示信息">链接文字</a>  
    这样,鼠标指到链接上就显示“提示信息”,不用多说了吧
    还在空格如果被忽略了,可以用&nbsp来替换空格。
      

  7.   

    第一个问题可以考虑截取字符,以下是函数:/*
    功能:中文字符串截取
    编写时间:
    编写人:
    变量:
    返回值:
    */
    function gbsubstr($str,$start,$len=Null){
        $totlelength = strlen($str);
        
        if ($len == null) $len = $totlelength;
        if ($len ==0) return "";
        if ($len >= $totlelength && $start == 0 ) return $str;
        if ($start > $totlelength) return "";    if ($start < 0 )//$start<0时,转化为$start>0时的定位.
        {
            if ( abs($start) >= $totlelength ) $start = 0;
            else $start = $totlelength - abs($start);
         }
        if ($start > 0)
        {
            $i = $start-1;        $flag = -1;        while ($i >= 0)
            {
                if ( ord(substr($str,$i,1)) > 160)
                {
                   $flag = -1*$flag;
                }
                else break;
                $i--;
            }
            if($flag==1)
            {
                $start = $start - 1;
                $len++; 
            }
        }    $str = substr($str,$start);
        $totlelength = strlen($str);    if ($len<0) $len = $totlelength - abs($len);
        if ($len <= 0) return "";
        $i=min($len,$totlelength);
        $i--;
        $flag = -1;
        while ($i >= 0){
            if (ord(substr($str,$i,1))>160){
                $flag=-1*$flag;
            }else break;
            $i--;
        }
        if($flag == 1)$len=$len-1;
        $subit=substr($str,0,$len);
        return $subit;
    }
    鼠标移过显示全标题的办法有很多,最简单的是用title
    <a title="XXXX" href="XXXX">XXXX</a>第二问:
    $string="     fdsaf fsaf     fsafsaf    fsaf";
    $getstring=str_replace('','&nbsp',$string);
    echo $getstring;
      

  8.   

    恩,但是我总不能让输入者在输入的时候输入&nbsp
    有没有什么可行性好一点的方法,谢谢!!!
      

  9.   

    加入空格的函数:
        function addBlank($Str){
            return str_replace(" ","&nbsp;","$Str");
        }