0

我创建了一个工厂来从我的后端检索 json 数据。部分 json 数据大量基于文本,需要将换行符转换为耦合<p></p>标签。

我试图使用这个函数来处理我的视图文件中的文本。

function TextProcess(text) {
    var p_text = text.replace("/[\r\n]+/", "</p><p>")+"</p>";
    var finish_text = p_text.replace("/(?<=\s)\x20|\x20(?=\s)/", "&nbsp;");
    return(finish_text);
}

这个函数可能有它自己的问题......(我对javascript很陌生)

然后在视图中,我尝试了:

<p>{{TextProcess(article.body)}}</p>

这条线让我无处可去。

我正在做的事情是在 AngularJS 中处理文本的正确方法吗?我不知道如何在没有ng-repeat.

请告诉我该怎么办。

4

1 回答 1

1

您可以使用自定义过滤器将格式应用于文本。

你最终会在你的模板中写下这个:

<span ng-bind-html-unsafe="text | customFilter"></span>

这是自定义过滤器代码(我将其命名为“fixup”)

.filter('fixup', function () {

return function (input) {
    var txt = input.replace("/[\r\n]+/", "</p><p>") + "</p>";
    var out = txt.replace("/(?<=\s)\x20|\x20(?=\s)/", "&nbsp;");

  return out;
}

我创建了一个小提琴,但替换效果不太好,但它应该提供一个坚实的起点:http: //jsfiddle.net/aNp8M/2/

于 2013-07-30T02:42:02.343 回答