An API I'm using returns a string which can also include an <a />
tag with a link. Whenever I render this in Pug, the hyperlink renders as plain text and is unclickable.
Is there any way I can convert the link in the text to an actual link?
Example string: Major disruption through Rugby. More details can be found in <A href="http://nationalrail.co.uk/service_disruptions/166412.aspx">Latest Travel News.</A>
答案 0 :(得分:1)
这实际上取决于您在模板中包含此文字的方式,但我认为您已遇到escaped String interpolation。发生的事情是帕格会自动消毒&#39;执行p= [input variable...]
时获得的输入。该清理步骤还包括使<>
个字符“失效”和#39;在HTML意义上。这可以防止一系列攻击,尤其是可以将实际脚本代码插入页面的攻击。
但是,如果您完全信任此API /数据源,则可以选择保留输入字符串unescaped。此选项的安全程度取决于您对该API的控制程度或您对其的信任程度。
其他选项没有保留未转义的输入可能包括对<a ...>
标记进行手动正则表达式搜索,并将匹配到该正则表达式转换为带有一些JS代码的实际链接。