2016-11-25 12 views
1

현재 사용자가 글을 잘 텍스트 형식으로 제공 할 수있는 커뮤니티 페이지를 만들려고합니다. 내 백엔드 CakePHP를하고 프런트 엔드는 각-JS 내가 MySQL의에 저장할 예를 들어, 입력 텍스트 잘 포맷 된 HTML 스타일의 텍스트cakephp와 angularjs를 사용하여 mysql에 서식이 지정된 텍스트를 저장하십시오.

<b> hello </b><br/> 
<em>world </em> 

입니다 저장할 수 있습니다 어떻게 내가 테이블 출력에서 ​​텍스트를 취득하는 경우

인사처럼

세계

갱신해야합니다 : -

그리고 가능한 경우 인라인 CSS에서도 작동해야합니다.

<div style="color:#D2691E">hiiii</div> 

난 멋진 애니메이션 -css 태그를 구현할 필요가 없지만 기본 CSS를 지원해야합니다.

당신은 $sanitize 서비스를 포함해야 ngBindHtml 지시어를 사용하지만, 전에 할 수 사전

답변

0

에 감사하고 응용 프로그램 모듈의 종속성으로 ngSanitize을 넣어.

AngularJS에 엄격한 상황 별 이스케이프 서비스를 제공하는 서비스 인 $sce을 사용하여 trusted 필터를 구현했습니다.

SCE (Strict Contextual Escaping)는 AngularJS가 특정 컨텍스트에서 해당 컨텍스트에 사용하기에 안전한 것으로 표시된 값을 갖도록 바인딩을 요구하는 모드입니다.

코드 :

angular 
 
    .module('myApp', ['ngSanitize']) 
 
    .filter('trusted', ['$sce', function($sce) { 
 
    return function(str) { 
 
     return $sce.trustAsHtml(str); 
 
    }; 
 
    }]) 
 
    .controller('myController', function($scope) { 
 
    $scope.myHTML = '<b>hello</b><br/><em>world</em>'; 
 
    $scope.myHTMLStyled = '<div style="color: #D2691E">hiiii</div>'; 
 
    });
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.min.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular-sanitize.min.js"></script> 
 

 
<div ng-app="myApp" ng-controller="myController"> 
 
    <div ng-bind-html="myHTML"></div> 
 
    <div ng-bind-html="myHTMLStyled | trusted"></div> 
 
</div>

+0

난 당신이 내 질문을 오해 생각합니다. 내 문제를 이해할 수 있도록 내 질문을 변경했습니다. btw 시간 내 주셔서 감사합니다. – hardik

관련 문제