如何在打字稿中使用/显示带有html标签的字符串

Posted

技术标签:

【中文标题】如何在打字稿中使用/显示带有html标签的字符串【英文标题】:How to use/display string with html tags in typescript 【发布时间】:2019-08-17 14:01:09 【问题描述】:
var bannerText = stringFormat("This is my 0test content1 here", "<b>", "</b>");
<div>
    <p> para1</p>
    <p> bannerText</p>
</div>

html标签被打印而不是作为文本应用

观察到的输出

这是我的测试内容这里

需要的输出

这是我的测试内容这里

【问题讨论】:

检查我的答案兄弟,它可能会帮助你! How to render string with html tags in Angular 4+?的可能重复 【参考方案1】:
<div [innerHTML]="bannerText"></div>

但是,请记住 Angular 的 docs about security,上面写着 Angular recognizes the value as unsafe and automatically sanitizes it, which removes the &lt;script&gt; tag but keeps safe content such as the &lt;b&gt; element.

【讨论】:

【参考方案2】:

检查下面的代码可能对你有帮助。使用内部 html

document.getElementById("name").innerHTML="This is &lt;u&gt;my test&lt;/u&gt; sample"
&lt;div id="name"&gt;&lt;/div&gt;

.

【讨论】:

【参考方案3】:

Observed output This is my &lt;u&gt;test content&lt;/u&gt; here

您使用的任何方法都是 转义 html,例如&lt; / &gt;

修复

您需要一些版本的设置 HTML

例如反应:dangerouslySetInnerHTML,纯 JS:使用innerHTML

警告

小心,设置 html 会将您的应用暴露给 XSS:https://en.wikipedia.org/wiki/Cross-site_scripting

【讨论】:

以上是关于如何在打字稿中使用/显示带有html标签的字符串的主要内容,如果未能解决你的问题,请参考以下文章

在打字稿中,如何检查字符串是不是为数字

在打字稿中,如何检查字符串是不是为数字

在打字稿中,如何检查字符串是不是为数字

如何将点击事件添加到打字稿中动态添加的html元素

如何在打字稿中扩展字符串?

如何在反应打字稿中从json文件中获取和显示数据