Я создаю небольшую систему ведения блога в AngularJS + RoR для бэкэнд.
У меня есть записи, хранящиеся в моей базе данных, и содержимое сообщения хранится в столбце "Содержимое". Пример данных столбца содержимого - это.
<p>Hello how are you doing?</p><p>how about you?</p>
Я хочу показать все свои сообщения в блоге на главной странице, например, в новостной ленте. Конечно, я не хочу показывать весь почтовый контент каждого сообщения. Скажем, что я хочу показать только первые 100 символов почтового контента.
до сих пор мне удалось обрезать теги html из строки, которую я показываю через собственный фильтр
angular.module('flapperNews').
filter('htmlToPlaintext', function() {
return function(text) {
return text ? String(text).replace(/<[^>]+>/gm, '') : '';
};
}
);
и он используется следующим образом:
<div ng-bind-html="post.content | htmlToPlaintext"></div>
но результат выглядит следующим образом:
Hello how are you doing?how about you?
как вы, вероятно, заметили, что между предложениями нет пробелов.
Есть ли способ, как это исправить, или вы знаете о любом другом способе добавления функциональности выдержки в угловое приложение.
Любая помощь приветствуется.
Замените тег не на ''
, а пробелом:
angular.module('flapperNews').
filter('htmlToPlaintext', function() {
return function(text) {
return text ? String(text).replace(/<[^>]+>/gm, ' ') : ''; // replace with a space
};
}
);