我正在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">&#65279;</span>df<span class="rangySelectionBoundary" id="selectionBoundary_1472644203224_09491296280590866">&#65279;</span></p><p><span class="rangySelectionBoundary" id="selectionBoundary_1472644197601_045958185758413816">&#65279;</span>g<span class="rangySelectionBoundary" id="selectionBoundary_1472644197601_8700155449427347">&#65279;</span><br/></p>
以下是我在将数据返回前端之前用PHP解码HTML的方法。
<?php
$valueFromDB= "<p>dfgdfgdfgfd</p><p><br/></p><p>dg</p><p>d</p><p>g</p><p><span class="rangySelectionBoundary" id="selectionBoundary_1472644203224_7186990890070339">&#65279;</span>df<span class="rangySelectionBoundary" id="selectionBoundary_1472644203224_09491296280590866">&#65279;</span></p><p><span class="rangySelectionBoundary" id="selectionBoundary_1472644197601_045958185758413816">&#65279;</span>g<span class="rangySelectionBoundary" id="selectionBoundary_1472644197601_8700155449427347">&#65279;</span><br/></p>";
$decoded = html_entity_decode(htmlspecialchars_decode($valueFromDB,ENT_QUOTES));
echo $decoded;
?>
它适用于小提琴,但在真实网站中,这就是它的外观。
为什么当它在小提琴中工作时它不能在网站上工作?
答案 0 :(得分:3)
如果您尝试使用angular的$ http打印查询结果,请尝试使用ng-bind-html
<div ng-bind-html="queryResult"></div>
此指令需要角度消毒。