【问题标题】:How to highlight text in Flask如何在 Flask 中突出显示文本
【发布时间】:2021-08-04 10:22:27
【问题描述】:

我认为这会更容易找到,因为它似乎是一种常见的功能(即文本编辑器),但我正在 Flask 中制作一个网络应用程序。基本上,客户端提交一个字符串; python 发现任何错误并突出显示它们,然后将其返回给客户端。当客户端更改该错误时,突出显示消失。

我已经想出了如何返回错误,但我不知道如何返回突出显示的文本。我听说过 Curses 库,但老实说,我觉得它有点吓人。 您认为解决这个难题的最简单的实现方式是什么?

【问题讨论】:

  • <span class="highlighted">text</span> 和一点 CSS。
  • 欢迎来到 Stack Overflow!您的问题可能有些主观,并导致许多不同的答案。尝试通过提供一些示例和分享一些代码来提供一些背景信息。

标签: javascript python html css flask


【解决方案1】:

感谢@Epsi95。我认为你的答案是最简单的。我的问题的目的是主观的,所以我可以了解各种解决方案。在 python 中这方面似乎没有任何答案(干净或方便),但现在我知道如何在 Flask 中同时使用 html 和 python 来完成这项任务。

对于任何感兴趣的人,这就是我在 Flask 中使用它的方式,其中 python 指示字符错误,而 html 为用户突出显示它。在python中:

    def find_error(text):
        # Let's say that user entered 'some string!.'
        error='!.'
        indices=[]
        idx = -1
        while True:
            idx = text.find(error, idx+1)
            if idx == -1:
                break
            indices.append(idx)
            yield idx
        return render_template("index.html",text=text,indices=indices)

在 html 中:

    {% block content}
    <input type="hidden" value={{indices}}/>
    <textarea style="overflow-y: scroll;">
    {{text}}
    {% for index in indices%}
    {% loc=text[index:index+2]%}
    <mark style="background-color: yellow;">{{loc}}</mark>
    {%endfor%}
    </textarea>
    {% endblock %}

因为错误不太可能是故意的,所以高亮显示将在编辑后消失。如果有人知道更好的方法,请告诉我。

【讨论】:

    猜你喜欢
    • 2010-09-10
    • 2018-10-06
    • 2013-06-13
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多