我是JavaScript和reactjs的新手。我有一个文本,其中包含一些段落标签,如
换行符和...来自带有CKEDITOR的textarea。如何在html标签中显示已保存的文本?例如,我想显示这个文字:
myString=<p>Cumque et blanditiis magnam optio amet. Eum eos et et et sit autem optio. Asperiores fuga iure quis sequi voluptas laboriosam et.</p>
<div className={'myclass'}>myString</div>
在html标签中?
答案 0 :(得分:0)
为此目的,请使用dangerouslySetInnerHTML :
<div className={'myclass'} dangerouslySetInnerHTML={{__html: myString}}/>
答案 1 :(得分:0)
清理一串html标签或其他恶意javascript代码的过程称为清理。
一种方法是使用reactjs&#39>
<强> dangerouslySetInnerHTML 强>
dangerouslySetInnerHTML是React替代使用innerHTML的替代品 浏览器DOM。通常,从代码设置HTML是有风险的,因为 很容易无意中将您的用户暴露给跨站点脚本 (XSS)攻击。因此,您可以直接从React设置HTML,但您有 输入dangerouslySetInnerHTML并传递一个带有__html的对象 关键,提醒自己这很危险。例如:
function createMarkup() {
return {__html: 'First · Second'};
}
function MyComponent() {
return <div dangerouslySetInnerHTML={createMarkup()} />;
}
但我会建议使用DomPurify或SanitizeHtmlReact
等库因为它们更灵活,有很多选择。
查看他们的示例和演示以获取更多信息