-1

Change this

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

to

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

I am using emojione in reactjs project and want to use in JSX like

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

Presently, it is displaying as string inside html

James Whiteley
  • 3,068
  • 1
  • 16
  • 41
Avinash
  • 1,195
  • 9
  • 17

2 Answers2

3

I am assuming your original issue is that the value is rendered as string instead of an element in React

You can use the JSX attribute dangerouslySetInnerHTML

Example :

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> )
}

Original SO Answer refer - [ How do I convert a string to jsx? ]

Dhananjai Pai
  • 5,715
  • 1
  • 7
  • 25
-1

If you want to remove some characters from the start and end of a string in JS, you can use the trim2() function from the following example:

<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>
CoursesWeb
  • 4,031
  • 3
  • 18
  • 24
  • even if the leading quotes are removed, it doesn't convert the string into JSX and does not solve the original problem. – Dhananjai Pai Feb 06 '19 at 10:24