angularJS& php- HTML标签没有被解码

时间:2016-09-01 07:19:31

标签: javascript php html angularjs html5

我正在angularJS中建立一个新项目。后端是带MySQL的PHP​​。 PHP API将数据返回到我需要在前视图中显示的角度。

但HTML标签在我的网站上没有被解码。 Thay就是这样展示的。当我在phpfiddle.org中尝试相同时,它可以工作。

用户通过wysiwyg编辑器提交数据,并将其保存在数据库表中,如下所示:

<p>dfgdfgdfgfd</p><p><br/></p><p>dg</p><p>d</p><p>g</p><p><span class="rangySelectionBoundary" id="selectionBoundary_1472644203224_7186990890070339"></span>df<span class="rangySelectionBoundary" id="selectionBoundary_1472644203224_09491296280590866"></span></p><p><span class="rangySelectionBoundary" id="selectionBoundary_1472644197601_045958185758413816"></span>g<span class="rangySelectionBoundary" id="selectionBoundary_1472644197601_8700155449427347"></span><br/></p>

以下是我在将数据返回前端之前用PHP解码HTML的方法。

<?php
$valueFromDB= "&lt;p&gt;dfgdfgdfgfd&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;dg&lt;/p&gt;&lt;p&gt;d&lt;/p&gt;&lt;p&gt;g&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;rangySelectionBoundary&quot; id=&quot;selectionBoundary_1472644203224_7186990890070339&quot;&gt;&amp;#65279;&lt;/span&gt;df&lt;span class=&quot;rangySelectionBoundary&quot; id=&quot;selectionBoundary_1472644203224_09491296280590866&quot;&gt;&amp;#65279;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;rangySelectionBoundary&quot; id=&quot;selectionBoundary_1472644197601_045958185758413816&quot;&gt;&amp;#65279;&lt;/span&gt;g&lt;span class=&quot;rangySelectionBoundary&quot; id=&quot;selectionBoundary_1472644197601_8700155449427347&quot;&gt;&amp;#65279;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;";

$decoded =  html_entity_decode(htmlspecialchars_decode($valueFromDB,ENT_QUOTES));

echo $decoded;
?>

它适用于小提琴,但在真实网站中,这就是它的外观。

enter image description here

为什么当它在小提琴中工作时它不能在网站上工作?

1 个答案:

答案 0 :(得分:3)

如果您尝试使用angular的$ http打印查询结果,请尝试使用ng-bind-html

<div ng-bind-html="queryResult"></div>

此指令需要角度消毒。