2016-08-26 5 views
0

Я выполняю итерацию через хэш и печатаю вывод в файл HTML в perl.Как ограничить символы в строке в HTML

В настоящее время я могу печатать в файл HTML, но текстовые символы печатаются из строки таблицы для определенного поля - ФАЙЛЫ.

Для определенных значений существует несколько путей к файлу для поля «ФАЙЛЫ», поэтому данные распечатываются из таблицы.

В HTML, как я могу ограничить содержимое или данные таблицы для печати в строке.

Я попытался с помощью обертку, но никакой пользы:

<td wrap>$$val{Files}</td> 

и

<td nowrap>$$val{Files}</td> 

Я хочу расширенные файлы или путь, чтобы вписаться в конкретной ячейке, не вытекающий из строки ,

Ниже мой кусок кода:

foreach $prg (keys %work) { 
    print FH "<font color = #000000> <font size = 4> <u><center><br/>Design: <b>$prg</b></center></u></font>\n"; 

    foreach $jir (keys %{$work{$prg}}) { 
     print FH "<p><font color = #000000><b>DESIGN ID:$jir</b></font></p> "; 
     @myarr = @{$work{$prg}{$jir}}; 
     foreach $val (@myarr) { 
      print FH "<body><table border=1 width=100% style='table-layout:fixed'></body>\n"; 

      print FH "<col width=6%> <col width=5%><col width=10%><col width=15%><col width=10%><col width=50%>"; 

      print FH "<tr bgcolor=##4169E1><th><font color = #FFF5EE>Design_ID</th><th><font color = #FFF5EE>Submitter</th><th><font color = #FFF5EE>Reviewer</th><th><font color = #FFF5EE>Description</th><th><font color = #FFF5EE>Date</th><th><font color = #FFF5EE>Files</th></tr>\n"; 

      print FH "<tr bgcolor=#FFF8C6 border=1><td>$$val{design}</td><td>$$val{Initial}</td><td>$$val{Reviewer}</td><td bgcolor=#FFF8C6>$$val{Description}</td><td>$$val{time}</td><td>$$val{Files}</td></tr>\n"; 
      print FH "</table>\n"; 
      } 
    } 
} 
+0

Попробуйте это http://stackoverflow.com/questions/28642049/limit-the-character-in-html-column 'word-break: break-all; word-wrap: break-word; ' – AbhiNickz

+0

Как и главный ответ в [this] (http://stackoverflow.com/questions/15405817/truncating-text-inside-a-div) –

+0

Спасибо @AbhiNickz & Drav Sloan для ваших входов – voltas

ответ

0

Добро пожаловать в Stack Overflow.

Вы можете решить это, используя CSS. Который может быть использован с использованием таблицы внешних таблиц стилей или встроенного стиля.

Например (как показано в CSS text-overflow in a table cell?)

td { 
    max-width: 100px; 
    overflow: hidden; 
    text-overflow: ellipsis; 
    white-space: nowrap; 
} 

Хотя, глядя на свой код, я думаю, вы могли бы реорганизовать или очистки вашего HTML. Я не знаком с Perl, но угадываю с других языков.

Тег body следует использовать только один раз для HTML-файла/вывода. Знаки font и center устарели в пользу CSS. Я думал, что col не был элементом вообще, но кажется, что он просто устарел в течение длительного времени. Наличие таких ошибок в вашем HTML может привести к неожиданным проблемам с рендерингом.

+0

Большое спасибо за ваше предложение, попробую с моего конца. – voltas