You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用<font color="#xxxxxx">标签实现HTML代码高亮?是否有工具支持?

如何用<font color="#xxxxxx">标签实现代码语法高亮?

可用工具方案

  • 自定义Python脚本:借助pygments语法解析库,自定义格式化器生成带<font>标签的HTML。Pygments默认输出带class的span,我们可以修改格式逻辑替换为你需要的<font>标签:

    from pygments import highlight
    from pygments.lexers import CppLexer
    from pygments.formatters import HtmlFormatter
    
    class FontHtmlFormatter(HtmlFormatter):
        def wrap(self, source, outfile):
            return self._wrap_code(source)
    
        def _wrap_code(self, source):
            # 映射Pygments的语法类到目标颜色
            color_map = {
                "k": "#b02f60",    # 关键字(using)
                "kn": "#1773cc",   # 包含指令(#include)
                "n": "#000000",    # 普通标识符(cin、cout)
                "mi": "#ff8b00",   # 数字(1)
                "s": "#4a6f8b",    # 字符串(换行符)
                "kt": "#008b00"    # 类型关键字(int、namespace)
            }
            for i, t in source:
                if i == 1:
                    # 替换span标签为font标签
                    for cls, color in color_map.items():
                        t = t.replace(f'<span class="{cls}">', f'<font color="{color}">')
                        if cls in ["k", "kt"]:
                            t = t.replace(f'<span class="{cls}">', f'<font color="{color}"><b>')
                    t = t.replace('</span>', '</b></font>' if '<b>' in t else '</font>')
                yield i, t
    
    # 输入你的代码
    code = """#include <NTL/ZZ.h>
    
    using namespace std;
    using namespace NTL;
    
    int main()
    {
        ZZ a, b, c;
    
        cin >> a;
        cin >> b;
        c = (a+1)*(b+1);
        cout << c << "\\n";
    }"""
    
    # 输出带font标签的高亮HTML
    print(highlight(code, CppLexer(), FontHtmlFormatter()))
    

    运行后会直接输出符合要求的HTML代码,你可以根据示例配色调整color_map里的色值。

  • 在线定制转换工具:部分在线语法高亮工具支持自定义输出模板,你可以选择对应编程语言后,将输出模板设置为用<font color="xxx">包裹对应语法元素,替换默认的span样式。

手动编写方案

如果找不到适配的工具,手动标注也是可行的:

  1. 按语法拆分代码元素:关键字(using/int)、包含语句、数字、字符串、普通变量/函数名等;
  2. 给每个元素套上对应颜色的<font>标签,比如:
    • 关键字:<font color="#b02f60"><b>using</b></font>
    • 包含指令:<font color="#1773cc">#include </font><font color="#4a6f8b">&lt;NTL/ZZ.h&gt;</font>
    • 数字:<font color="#ff8b00">1</font>

内容的提问来源于stack exchange,提问作者Accepted

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 07:00:36