CSS能控制吗?
下面是输出二个字段的数据
HP Pavilion ze4200 Series
   Pavilion ze4200 (DA720AV), Pavilion ze4201 (DC597A),
下面是输出四个字段的数据
HP OmniBook xe4500 Series
   F4869H, F4869HC, F4869HG, F4869J, 

解决方案 »

  1.   

    IE下
    break-all
    word-break ?
      

  2.   

    if ($count%4) {
    $text .= " ".$mname["models_name"].", ";
    } else {
    $text .= $mname["models_name"].",<br/>";
    }
    我的控制是在这里,$count%4(输出四个字段换行),$count%2(输出二个字段换行换行),但我发的那个地址里面是有四字段换行部分,也有二字段换行部分.
      

  3.   

    回复人:patchclass(黑翼) ( 两星(中级)) 信誉:102  2007-3-21 9:02:54  得分:0
    ?  IE下
    break-all
    word-break ?
    谢谢,这是CSS文件,我没看出哪有控制输出的部分,而且在Firefox下输出是一样的,应该不是用了这个自动换行
    http://global-batteries.com/stylesheet.css
      

  4.   

    /*****看来不是按照个数判断的,那长度怎么样********/$length = 0;//循环体外加初值
    $wordlimit = 40;//最大长度//循环体里面加上计数
    if ( $length > $wordlimit ) {
    $text .= "<br />\n";
    $length = 0;
    } else {
    $length += strlen($mname['models_series'].$mname["models_name"]);
    }
      

  5.   

    样式里面加入:
    word-break: break-all; word-wrap:break-word;
      

  6.   

    是程序控制,不是CSS,你可以看样式文件:stylesheet.css
      

  7.   


    $result = mysql_query($sql);
    $count=0;
    $text = "";
    while ($mname=mysql_fetch_array($result,MYSQL_ASSOC)) {
    $count++;
    if (empty($mseries)||!isset($mseries)) {
    $mseries = $mname['models_series'];
    $text = "<font style=color:#3577AA>".$mseries."</font><br/>".$mname["models_name"].", ";
    } else {
    if ($mseries === $mname["models_series"]) {
    if ($count%4) {
    $text .= " ".$mname["models_name"].", ";
    } else {
    $text .= $mname["models_name"].",<br/>";
    }
    } else {
    $count=1;
    $mseries = $mname['models_series'];
    $text .= "<br/><font style=color:#3577AA>".$mseries."</font><br/>".$mname["models_name"].", ";
    }
    }
    }
    echo $text;
    回复人:fredyj(醉爱酸奶) 
    兄弟,我加了半天也没反字符判断加入这段程序,你能再帮帮我吗?
      

  8.   

    你这段我不太好加,因为我不了解这些数据库里存储的字段都是什么意思;不过我认为只要了解了需求,算法就不是问题了;我的理解需求就是:
    输出的时候控制文字达到以下要求
    1、不能让每行文字过长;$length > 40
    2、每行显示个数不能过多;$count % 4 == 0我提供一个你参考一下:
    (
    数据分别来自你提供的页面里的
    HP OmniBook xe4500 Series
    HP Pavilion xt5 Series
    )
    <?php
    $arr = array (
    "F4869H, F4869HC, F4869HG, F4869J, F4869JC, F4869JG, F4869JT, F4870H, F4870HC, F4870HG, F4870J, F4870JC, F4870JG, F4870JT, F4871H, F4871HC, F4871HG, F4871J, F4871JC, F4871JG, F4871JT, F4872H, F4872HC, F4872HG, F4872J, F4872JC, F4872JG, F4873H, F4873HC, F4873HG, F4873J, F4873JC, F4873JG, F4874H, F4874HC, F4874HG,F4874J, F4874JC, F4874JG, F4874JT,F4875H, F4875HG, F4875J, F4875JT, F4876H, F4876J, F4876JT, F4877H, F4878H, F4879J, F4879JT, F4880H, F4880HG, F4880HR, F4880HT, F4880JG,F4880JT, F4881HG, F4881HT, F4881JG, F4881JT, F4882J, F4882JT, F4884H, F4884J, F4885H, F4885J, F4886H, F4886J, F4887H, F4887J, F4887JT, F4888J, F4889HT, F4889J, F4889JT, F4890H, F4890J, F4890JT, F5829HS, F6148J, F4867H, F4867HC, F4867HG, F4867J, F4867JC, F4867JG, F4867JT, F4868H, F4868HC, F4868HG, F4868J, F4868JC, F4868JG, F4883H, F4883J",
    "Pavilion xt512 (F4689H), Pavilion xt545 (DC764A), Pavilion xt555 (DE862A), Pavilion xt565 (DB397A), Pavilion xt575 (DC672A), Pavilion xt575 (DE861A), Pavilion xt585 (DC753A), Pavilion xt595 (DE863A),Pavilion xt512, Pavilion xt537QV, Pavilion xt545,Pavilion xt595"
    );
    $text = "";
    foreach ( $arr as $key => $val )
    {
    $arr_temp=  explode ( ",",$val );
    $length = 0;
    $count = 0;
    foreach ( $arr_temp as $key_temp => $val_temp )
    {
    $count ++;
    $val_temp = trim($val_temp);
    $length += strlen ($val_temp);
    $text .= $val_temp;
    if($count % 4 == 0 || $length > 40) {
    $length = 0;
    $text .= "<br />\n";
    }else
    {
    $text .= ",";
    }
    //echo $count." ".$length."\n";
    }
    }
    echo $text;
    exit;
    ?>