【问题标题】:Pug.js - convert <a> tag in string to a linkPug.js - 将字符串中的 <a> 标记转换为链接
【发布时间】:2017-07-01 16:06:25
【问题描述】:

我正在使用的 API 返回一个字符串,该字符串还可以包含一个带有链接的 &lt;a /&gt; 标记。每当我在 Pug 中呈现它时,超链接都会呈现为纯文本并且无法点击。

有什么方法可以将文本中的链接转换为实际链接?

示例字符串:Major disruption through Rugby. More details can be found in &lt;A href="http://nationalrail.co.uk/service_disruptions/166412.aspx"&gt;Latest Travel News.&lt;/A&gt;

【问题讨论】:

    标签: html node.js express pug


    【解决方案1】:

    这实际上取决于您如何在模板中包含此文本,但我认为您遇到过escaped String interpolation。当您执行p= [input variable...] 时,Pug 会自动“清理”它获得的输入。该清理步骤还包括使&lt;&gt; 字符在 HTML 意义上“失效”。这可以防止一系列攻击,最明显的是可能已将实际脚本代码插入您的页面的攻击。

    但是,如果您完全信任此 API/数据源,则可以选择保留输入字符串 unescaped。此选项的安全程度取决于您对该 API 的控制程度或您对它的信任程度。

    其他不保留未转义输入的选项可能包括手动正则表达式搜索 &lt;a ...&gt; 标记并将匹配到该正则表达式转换为带有一些 JS 代码的实际链接。

    【讨论】:

    • 哦,太完美了!谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 2015-12-03
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    相关资源
    最近更新 更多