将 <p> 添加到 angular 中的未格式化文本

Adding <p> to an unformated text in angular

我正在像下面这样粘贴纯文本,就在 summernote 的文本框中,并对其进行处理以删除所有 html 格式。但我需要再次处理它以更新模型,将 <p> 添加到段落并删除空行。

这就是我的

Example Test
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.

Nulla consequat massa quis enim.

还有...

这是我需要的:

<p>Example Test</p>
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
<p>Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.</p>
<p>Nulla consequat massa quis enim.</p>

这是我的看法:

<div summernote config="options" ng-model="post.description" on-paste="snPaste(evt)"></div>

这是我用来粘贴的脚本:

$scope.snPaste = function(e) {
    //First define the clean content
    var cleanUp = e.originalEvent.clipboardData.getData('text');

    //Have it wait for 0.5 seconds to update the pasted
    setTimeout(function () {
        $scope.$apply(function () {
            $scope.post.description = cleanUp; //Here I update the model.
        });
    }, 500);
};

结果如下:

这是对您的控制器的调整:

angular.module('summernoteDemo', ['summernote'])
  .controller('CodeCtrl', function($scope) {
    $scope.snPaste = function(e) {
      //First define the clean content
      clipboardData = e.originalEvent.clipboardData || window.clipboardData;
      var cleanUp = clipboardData.getData('Text');

      //Have it wait for 0.5 seconds to update the pasted
      setTimeout(function() {
        $scope.$apply(function() {
          $scope.post.description = '<p>' + cleanUp.replace(/\r\n\r\n|\n\n/g, '</p><p>').replace(/\r\n|\n/g, '</p><p>') + '</p>'; //Here you update the model.
        });
      }, 500);
    };
  });

这是一个有效的 JSFiddle,http://jsfiddle.net/rekrah/nkosyafs/