如何在React Native或JS中解码特殊字符或HTML实体?

时间:2018-07-16 10:28:36

标签: javascript reactjs parsing react-native html-parsing

我从具有HTML实体的后端获取String。

‘ ’ “ ”,它们是

我使用了其他功能,例如:-

var map = { amp: '&', lt: '<', gt: '>', quot: '"', '#039': "'"};

var output = newsTitle.replace(/&([^;]+);/g, (m, c) => map[c]);

输出是已解析的字符串,但无法替换 JavaScript React Native 中的字符串。任何帮助将不胜感激。

修改:-

我实际上是在

中传递此文本
<Text numberOfLines={2}>
{output}
 </Text>

2 个答案:

答案 0 :(得分:0)

您可以使用此库https://github.com/mdevils/node-html-entities

const Entities = require('html-entities').XmlEntities;

const entities = new Entities();
console.log(entities.decode('&lt;&gt;&quot;&apos;&amp;&copy;&reg;&#8710;')); // <>"'&&copy;&reg;∆

答案 1 :(得分:-1)

$('form').submit(function() {
  var theString = $('#string').val();
  var varTitle = $('<textarea />').html(theString).text();
  $('#output').text(varTitle);
  return false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="#" method="post">
  <fieldset>
    <label for="string">Enter a html-encoded string to decode</label>
    <input type="text" name="string" id="string" />
  </fieldset>
  <fieldset>
    <input type="submit" value="decode" />
  </fieldset>
</form>

<div id="output"></div>