0

嗨,我是 AngularJS 的新手。我在将 JSON 数据解析为正确格式时遇到问题。实际上,JSON 响应本身返回了 HTML 格式的数据(它包含 HTML 标签,如 <,;BR,> 等)。如果我在浏览器中检查响应,它会返回正常,但在 device(TAB,MOBILE) 中,HTML 标记也会被附加。我正在使用 AngularJS 将 JSON 响应绑定到 DOM。有什么方法可以简单地忽略 JQuery 或 AngularJs 中的 HTML 标签?同时我不想删除 HTML 标签,因为它们是定义“新行”、“空格”、“表格标签”等所必需的。

我得到的示例响应如下:

A heavier weight, stretchy, wrinkle resistant fabric.&lt;BR&gt;&lt;BR&gt;Fabric Content:&lt;BR&gt;100% Polyester&lt;BR&gt;&lt;BR&gt;Wash Care:&lt;BR&gt; 

如果我使用 应用绑定{{pdp.desc}},HTML 标记也会被添加。有没有办法做到这一点?

我添加了 ng-bind-html-unsafe="pdp.desc",但仍然会出现“BR”标签。

4

3 回答 3

2

可以使用正则表达式删除无用的 html 标签,试试这个

str.replace(/<\/?[^>]+>/gi, '')
于 2013-11-12T10:18:18.067 回答
0

尝试使用三对括号 {{{pdp.desc}}} 在 Handlebars 中它可以工作,在你的情况下可能。

于 2013-11-12T07:43:35.307 回答
0

使用 JS HTML 解析器

var pattern = @"<(img|a)[^>]*>(?<content>[^<]*)<";
var regex = new Regex(pattern);
var m = regex.Match(sSummary);
if ( m.Success ) { 
  sResult = m.Groups["content"].Value;

礼貌的堆栈溢出。

于 2013-11-12T11:11:30.957 回答