Perl CGI输出

时间:2017-04-23 19:47:09

标签: perl cgi

我有一个Perl CGI脚本,用于在不同类型的文本中查找关键字并生成排序的输出。

目前的输出看起来像这样

present output

表示关键字“the”。

但我想在此输出中以粗体突出显示关键字“the”。

怎么可能这样做?

我尝试使用SELECT MIN(create_date) start_date, MAX(create_date) end_date, COUNT(*) streak_count FROM ( SELECT q.*, @g := @g + COALESCE(DATEDIFF(create_date, @p) <> 1, 0) gn, @p := create_date FROM ( SELECT * FROM score_streak WHERE score > 9 ORDER BY create_date ) q CROSS JOIN ( SELECT @g := 0, @p := NULL ) i ) r GROUP BY gn ,但它以粗体显示整个句子,而不仅仅是关键字。

我的CGI脚本如下所示:

Term::ANSIColor

感谢。

1 个答案:

答案 0 :(得分:3)

您无法控制text/plain文档中显示的字符样式。 Term::ANSIColor肯定不会起作用,因为浏览器无法识别ANSI终端转义序列,它只能在您的控制台上运行

如果您将输出编写为HTML,那么您只需将<strong>...</strong>放在要加强的单词周围

或者,更好的是,您可以编写像这样的CSS样式

.bold {
    font-weight: bold;
}

并将文字换成<span class="bold">...</span>

更新

要将文本文档转换为HTML,最简单的方法是将其包装在<pre>...</pre>(&#34;预先格式化的&#34;)元素中,并将其放入标准HTML结构中。小于<,大于>和&符号&的字符必须分别替换为对应的实体&lt;&gt;&amp;,以及您可以在<strong>标记

中的粗体中包含所需的字词

与大多数现代浏览器相比也很友好的最小HTML5文档看起来像这样

<!doctype html>
<html lang=en>
  <head>
    <meta charset=UTF-8>
    <title>Search Results</title>
  </head>
  <body>
    <pre>
Content of my report
with words to be in bold wrapped in <strong> tags
and characters `<`, `>`, and `&` replaced by
`&lt;`, `&gt;` and `&amp;` respectively
    </pre>
  </body>
</html>