我有一个来自 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/