一、前提
在开始本文之前先设定,从server取下来的内容是一个html格式 的内容,那么如下显示:
<div class="article-view-content col-md-12 col-sm-12 col-xs-12 no-padding-left no-padding-right wiki"
ng-bind-html="vm.article.content | ArticlesTrim">
</div>
二、过滤器
现在要做的事情就是做一个过滤器就好了,让他来去掉content里面的空行
angular
.module('articles')
.filter('ArticlesTrim', ArticlesTrim)
ArticlesTrim.$inject = [];
function ArticlesTrim() {
return function (htmlContent) {
var re = /<p><br\/><\/p>|<p><br><\/p>|<p>\s<\/p>/g;
var trimLFCR = htmlContent.replace(re, '');
return trimLFCR;
}
}
这里要注意:正则表达式的编写,我这里去掉是三种:
<p><br/></p>
<p><br></p>
<p>\s<\/p>
这里regexp的写法,其实就是/xxx/g最后的g表示全部匹配,如果用gi则表示大小写严格。然后,里面/需转义,所以:
转义之后是:
三、正则表达式其他写法
ArticlesTrim.$inject = [];
function ArticlesTrim() {
return function (htmlContent) {
var regex = new RegExp('<p><br/></p>', 'g');
var trimLFCR = htmlContent.replace(regex, '');
regex = new RegExp('<p><br></p>', 'g');
trimLFCR = trimLFCR.replace(regex, '');
return trimLFCR;
}
}
每一种需要处理的情况,就做一个RegExp来完成。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对天达云的支持。