【发布时间】:2014-10-23 05:27:33
【问题描述】:
仍然不确定何时使用 Sanitize,何时不使用。我将旧数据库移到新机器上。它有相当多的博客文章。我曾经用 PHP 来显示这些,这非常直观。对于 Angular 方式,我不能说太多。
angular.module( 'myApp', ['ngSanitize'] );
function blogController($scope,$http,$sanitize) {
var site = "http://onfilm.us/gamengai";
var page = "/fft.php";
console.log( site + page );
$http.get( site + page )
.success(function(response) {
for ( var i = 0; i < response.length; i++ ) {
response[i].text = response[i].text.replace( /<br\s*\/?>/mg, "\n" );
// response[i].text = $sanitize( response[i].text ); // this mangles it
}
$scope.data = response;
});
}
我在
上运行了一个正则表达式来处理这个问题。
上面从 PHP 脚本中获取数据。如果我清理文本,它会将那些引号和撇号变成垃圾。 (也许他们逃脱了?)更重要的是,不被尊重。它被打印为字符串文字。
我问了这个问题并被建议进行消毒,但它只解决了部分问题。
编辑:原始文本(在数据库中)类似于“MyLink”。这正是它在页面上的显示方式。在此处查看实际操作:http://onfilm.us/gamengai/index.html
【问题讨论】:
-
你能告诉我们(a)原始文本是什么,(b)$sanitize 正在生成什么吗?
-
另外,进一步考虑,您期望 $sanitize 做什么?它从字符串中去除可能不安全的 html。
-
编辑后的帖子 - 有看头。我想我想清理句柄标签以及引号、撇号等。是否有另一种方法可以防止 Angular 对标签做任何事情?
标签: javascript angularjs sanitize