我尝试将没有序列号的行突出显示为粗体。我使用以下代码使用perl将行转换为粗体。
#!/usr/local/bin/perl
use strict;
use warnings;
open my $HTML, '>', 'result.html' or die $!;
print $HTML <<'_END_HEADER_';
<html>
<head><title>welcome</title></head>
<body>
<table border=10>
<th>SL.NO</th><th>CHECKLIST ITEM</th><th>VALUE</th><th>COMMENTS</th><th>CONFIRMATION</th>
_END_HEADER_
open my $IN, '<', 'result.txt' or die $!;
while ( my $line = <$IN> ) {
chomp $line;
#$line=~ s/COMMENT//g;
$line =~ s/[\\\_\@\_]//g;
$line =~ s/COMMENT//g;
# print $line;
print $HTML '<tr><td>' . join( '</td><td>', split( /:/, $line ) ) . "</td></tr>\n";
}
close $IN or die $!;
print $HTML <<'_END_FOOTER_';
</table>
</body>
</html>
_END_FOOTER_
close $HTML or die $!;
CREATED_BY=ME
1:Is Synopsys RM flow used?:Yes:INCORRECT:To Be Done
COMMENT:Full Planned_\@_
2:Any Blockages Used?:Yes:INCORRECT:To Be Done
COMMENT:CTS_\@_
SL.NO CHECKLIST_ITEM VALUE COMMENTS CONFIRMATION
CREATEDBY=ME
1 Is flow is used? YES INCORRECT To Be Done
Full Planned
2 Any Blockages Used? Yes INCORRECT To Be Done
CTS
CREATEDBY=ME
SL.NO CHECKLIST_ITEM VALUE COMMENTS CONFIRMATION
1 Is flow is used? YES INCORRECT To Be Done
Full Planned
2 Any Blockages Used? Yes INCORRECT To Be Done
CTS
在这里,我想强调要突出显示的非序列号行(即完整计划和CTS)。
答案 0 :(得分:2)
在HTML中加粗文字的最佳方法是使用Cascading Style Sheets。您应该更改代码以在需要加粗的size
元素中插入一个类。而不是:
<tr>
我会建议这样的事情:
print $HTML '<tr><td>' . join('</td><td>', split(/:/,$line)) . "</td></tr>\n";
然后是一个包含如下规则的CSS文件:
my @data = split /:/, $line;
my $class = $data[0] ? 'bold' : 'normal';
print $HTML qq[<tr class="$class"><td>] . join('</td><td>', @data) . "</td></tr>\n";