【问题标题】:wordwrap php+ cant figure this outwordwrap php 无法解决这个问题
【发布时间】:2023-11-10 21:29:01
【问题描述】:

我有这个完美的 php 脚本。

但是,打印出来的结果在一行上,我需要它与 wordwrap 一起使用。将行限制为 X 个字符,然后开始新行。

我不知道在哪里输入自动换行命令...

(这里是主要代码)

/* Connecting, selecting database */
$link = mysql_connect("XXXXXX", "XXXXXXX", "XXXXXXXX") or die("Could not connect : " . mysql_error());
echo "";
mysql_select_db("XXXXXXXX") or die("Could not select database");

/* Performing SQL query */
$result = mysql_query("SELECT XXXXXXXFROM XXXXXXXwhere Date = CURDATE()") or die("SELECT Error: " . mysql_error());
/* $num_rows = mysql_num_rows($result); */
print "<table border=0 align=center dir=rtl>\n";
while ( $get_info = mysql_fetch_row($result) ) {
    print "<tr>\n<br /><br /><br /><br />";
    foreach ( $get_info as $field )
        print "\t<td><font face=arial size=4/>$field </font></td>\n";
    print "</tr>\n";
}
print "</table>\n";

【问题讨论】:

  • 你需要自动换行的字段名称是什么??

标签: php word-wrap break


【解决方案1】:
print "\t<td><font face=arial size=4/>".wordwrap($field, 20, '<br />')."</font></td>\n";

【讨论】:

    【解决方案2】:

    例如,您可以修剪字段中的字符(0 - 开始,6 - 在第一个字符 (0) 之后显示 6 个字符):

    print "\t<td><font face=arial size=4/>".substr($field, 0, 6)."</font></td>\n"; 
    

    【讨论】:

    • 对不起没有这样做....它只是减少了字符的数量。我不想让它剪掉,而是在它达到 X 个字符时跳线
    【解决方案3】:

    您应该计算 $field 中每行的字符串数,并计算该行未定义的长度字符串。如果是在定义的有限区域内的长度,这将打印它的长度。

    $counted_strings = 0;
    
    foreach ($get_info as $field) 
    
        $counted_strings = strlen($field);
        $counted_strings++;
    
        if ($counted_strings <= 30)
        {
            print "\t<td><font face=arial size=4/>$field </font></td>\n"; 
            print "</tr>\n";        
        }
    
    }
    

    【讨论】: