我在AngularJS + RoR中为后端创建小型博客系统。
我的数据库中存有帖子,帖子内容存储在"内容"柱。内容列数据的示例是这样的。
[UIImage imageNamed:@"tut_1.jpeg"]
我想在主页上显示我的所有博客帖子,就像新闻源一样。当然,我不想显示每篇文章的全部帖子内容。让我们说我只想显示帖子内容的前100个字符。
到目前为止,我设法修剪了通过自定义过滤器显示的字符串中的html标签
<p>Hello how are you doing?</p><p>how about you?</p>
它的用法如下:
angular.module('flapperNews').
filter('htmlToPlaintext', function() {
return function(text) {
return text ? String(text).replace(/<[^>]+>/gm, '') : '';
};
}
);
但输出看起来像这样
<div ng-bind-html="post.content | htmlToPlaintext"></div>
你可能已经注意到现在句子之间没有空格了。
有什么方法可以解决这个问题,或者您是否知道如何将其摘录功能添加到角度应用程序中。
感谢任何帮助。
答案 0 :(得分:1)
不使用''
替换标记,但使用空格:
angular.module('flapperNews').
filter('htmlToPlaintext', function() {
return function(text) {
return text ? String(text).replace(/<[^>]+>/gm, ' ') : ''; // replace with a space
};
}
);