【问题标题】:Selectively escape strings in html using python/django使用 python/django 选择性地转义 html 中的字符串
【发布时间】:2022-02-06 17:13:18
【问题描述】:

我正在处理已格式化为 html 的电子邮件内容。我发现电子邮件地址的格式通常类似于 html 标签。有没有办法选择性地转义 html 代码中的字符串,但按原样呈现其他字符串?

例如,电子邮件地址通常被格式化为"Guy, Some <someguy@gmail.com>" 我怎样才能逃避这个,python 将其视为 html 标记,但保持 <br></br><p></p> 等不变并呈现它们?

已编辑

我正在处理保存为文本的原始电子邮件。在下面的示例中,我希望所有 html 标记都能正常呈现。但是,它也尝试呈现以以下格式存储的电子邮件地址 someguy@gmail.com 然后它给了我一个错误。所以我的挑战是找到所有的电子邮件地址,但不要管 html 标签。

<p>From: Guy, Some <someguy@gmail.com></p><br>
<br>
<p>Sent: Friday, January 21, 2022 2:16 PM</p><br>
<br>
<p>To: Another Guy <anotherguy@gmail.com></p>
<br>
<p>Subject: Really Important Subject</p>
<br>
<p> <br>Good morning,
<br>This is sample text<br> </p>
<br>
<p>Thanks for all your help!!!
<br>
<p> </p>

【问题讨论】:

    标签: html python-3.x django


    【解决方案1】:

    如果您从 django 传递此电子邮件标签,则可以使用 html &amp;lt;&amp;gt; 在 html 文档中创建 &lt;&gt;,然后您必须使用安全,因此它将呈现为像这样的纯 html 代码

    "Guy, Some {{email|safe}}"
    

    编辑

    在呈现您的 html 之前,您可以使用 &lt;email&gt; 提取所有电子邮件,例如

    import re
    
    data = '''
    <p>From: Guy, Some <someguy@gmail.com></p><br>
    <br>
    <p>Sent: Friday, January 21, 2022 2:16 PM</p><br>
    <br>
    <p>To: Another Guy <anotherguy@gmail.com></p>
    <br>
    <p>Subject: Really Important Subject</p>
    <br>
    <p> <br>Good morning,
    <br>This is sample text<br> </p>
    <br>
    <p>Thanks for all your help!!!
    <br>
    <p> </p>
    '''
    emails_to_parse = re.findall('[A-z]+@[A-z]+.[A-z]+', data) # this will return ['someguy@gmail.com', 'anotherguy@gmail.com']
    
    emails_to_remove = re.findall('<[A-z]+@[A-z]+.[A-z]+>', data) # this will return ['<someguy@gmail.com>', '<anotherguy@gmail.com>']
    
    for i in emails_to_parse:
      for j in emails_to_remove:
        data = data.replace(j,i)
    print(data)
    

    上面的代码给出了这个输出

    <p>From: Guy, Some someguy@gmail.com</p><br>
    <br>
    <p>Sent: Friday, January 21, 2022 2:16 PM</p><br>
    <br>
    <p>To: Another Guy someguy@gmail.com</p>
    <br>
    <p>Subject: Really Important Subject</p>
    <br>
    <p> <br>Good morning,
    <br>This is sample text<br> </p>
    <br>
    <p>Thanks for all your help!!!
    <br>
    <p> </p>
    

    我建议看看这个post

    【讨论】:

    • 你好@jvanheijzen 检查我已经编辑了我的答案
    猜你喜欢
    • 2019-10-04
    • 2012-05-27
    • 2015-12-10
    • 1970-01-01
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多