html - 显示从 MySQL 数据库中检索到的 HTML

标签 html mysql angularjs

所以我从 MySQL 数据库返回一个字符串,如下所示 <i>a</i><sup>2</sup> + <i>b</i><sup>2</sup> = <i>c</i><sup>2</sup>

不幸的是,该字符串在浏览器中显示为<i>a</i><sup>2</sup> + <i>b</i><sup>2</sup> = <i>c</i><sup>2</sup>。 .

PHP文件如下:

<?php
    require_once './config.php';

    $query = $db->prepare("SELECT * FROM `events`");
    $query->execute();

    $results = $query->fetchAll(PDO::FETCH_ASSOC);

    echo $json_response = json_encode($results);

?>

这是在 JS Controller 中使用资源解析的:

$scope.events = data;

$resource($scope.events).get().$promise.then(function (events) {
                        vm.events = events;
                    });

它的工作原理是通过 ngRepeat 显示内容,如下所示:

<div class="container" id="visualization" ng-repeat="event in events">

            <div class="row">
                <div ng-class-odd="'col-md-6 col-md-offset-6'" ng-class-even="'col-md-6'">
                    <div class="panel panel-default">
                        <div class="panel-heading">
                            {{event.day}} {{event.month}} {{event.year}}
                        </div>

                        <div class="panel-body">
                            {{event.description}}
                        </div>
                    </div>
                </div>
            </div>
        </div>

非常感谢任何帮助!谢谢!

编辑 1:

鉴于以下解决方案,我唯一更改的是我的 Controller 文件和 View 文件本身,即:

Controller 文件

var angular_module_name = angular.module('angular_module_name', []);

angular_module_name.filter('to_trusted', ['$sce', function ($sce) {
    return function (text) {
        return $sce.trustAsHtml(text);
    };
}]);

查看文件

    <div class="container" id="visualization" ng-repeat="event in events">

        <div class="row">
            <div ng-class-odd="'col-md-6 col-md-offset-6'" ng-class-even="'col-md-6'">
                <div class="panel panel-default">
                    <div class="panel-heading">
                        {{event.day}} {{event.month}} {{event.year}}
                    </div>

                    <div class="panel-body">
                        <span class="description" ng-bind-html="event.description | to_trusted"></span>
                    </div>
                </div>
            </div>
        </div>
    </div>

最佳答案

添加过滤器:

.filter('to_trusted', ['$sce', function ($sce) {
    return function (text) {
        return $sce.trustAsHtml(text);
};

在 html 中,

<div class="description" ng-bind-html="description | to_trusted"></div>

关于html - 显示从 MySQL 数据库中检索到的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43728229/

相关文章:

html - 在CSS中执行悬停时如何使子元素不填充他的父元素?

html - 自定义 CSS 图像悬停状态

javascript - 如何使用两个 Json 数据呈现 HTML 表格

php - MySQL 子字符串返回整数

mysql - 在 mysqldump 命令行上指定单独的配置文件

javascript - AngularJS 以互斥方式将类应用于多个按钮

javascript - 单选按钮在 JavaScript 中返回未定义的值

php - 使用 SQL 查询搜索部分单词

javascript - 如何从 Angular JS 中的 HttpResponse 中提取 JSON 数据?

javascript - 如果 Angular 正在做......从 Selenium 中检测东西