javascript - 操作字符串并将其作为 html 返回

标签 javascript html regex reactjs

我有一个来自 CMS 的字符串,如下所示:

建议零售价基本价格 †

字符串是不可变的,我需要替换包裹在上标标签上的 †,如下所示:

<sup>†</sup>

但是,通过 str.replace 方法,我使用:

var superLabel = str.replace(new RegExp('†'), '<sup>†</sup>');

superLabel 返回此:建议零售价基本价格

最佳答案

您在问题中提到了 React。 React 会自动解码你的字符串以避免 XSS 攻击。

您需要使用dangerouslySetInnerHTML设置您的值。

示例:

// Does not work
const string = '<sup>†</sup>';
return <div>{string}</div>;

// Works
const string = '<sup>†</sup>';
return <div dangerouslySetInnerHTML={string} />;

但要小心并确保您的输入是安全的。

关于javascript - 操作字符串并将其作为 html 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47565197/

相关文章:

regex - 这个替代字符串中的第二个 `^` 是多余的吗?

javascript - 如何在模板中使用其他vue的组件

javascript - 在 JavaScript 中合并两个字符串映射

javascript - 单击时可折叠的 div 高度问题

html - 使用正则表达式在 HTML/Js 中获取图像 URL

python - 我如何使用pyqt5中的QTextEdit显示html的所有样式(包括css的样式)

ruby-on-rails - 显示时从表中删除记录

javascript - 异步捆绑

javascript - 使用javascript选择iframe中的单选按钮

c# - 使用正则表达式解析文本文件