-1

改变这个

"<img class="emojione" alt="" title=":flag_gb:"
src="https://cdn.jsdelivr.net/emojione/assets/4.0/png/32/1f1ec-1f1e7.png"/>"

<img class="emojione" alt="" title=":flag_gb:"
src="https://cdn.jsdelivr.net/emojione/assets/4.0/png/32/1f1ec-1f1e7.png"/>

我在 reactjs 项目中使用 emojione 并想在 JSX 中使用

<div>
    <img class="emojione" alt="" title=":flag_gb:"
    src="https://cdn.jsdelivr.net/emojione/assets/4.0/png/32/1f1ec-1f1e7.png"/>
</div>

目前,它在 html 中显示为字符串

4

2 回答 2

3

我假设您的原始问题是该值呈现为字符串而不是 React 中的元素

您可以使用 JSX 属性dangerouslySetInnerHTML

例子 :

render() {
   str = '<img class="emojione" alt="" title=":flag_gb:" src="https://cdn.jsdelivr.net/emojione/assets/4.0/png/32/1f1ec-1f1e7.png"/>'
   return( <div dangerouslySetInnerHTML={{__html: str}}></div> )
}

原始 SO 答案参考 - [如何将字符串转换为 jsx?]

于 2019-02-06T10:30:14.527 回答
-1

如果要在 JS 中从字符串的开头和结尾删除一些字符,可以使用trim2()以下示例中的函数:

<script>
function trim2(str, chr) {
  var rgxtrim = (!chr) ? new RegExp('^\\s+|\\s+$', 'g') : new RegExp('^'+chr+'+|'+chr+'+$', 'g');
  return str.replace(rgxtrim, '');
}

var str ='"<img class="emojione" alt="????" title=":flag_gb:"src="https://cdn.jsdelivr.net/emojione/assets/4.0/png/32/1f1ec-1f1e7.png"/>"';

let s2 = trim2(str, '"');
alert(s2);
</script>
于 2019-02-06T10:22:45.513 回答