From a30abed7783a6d000bb212562281f1ce50016ac2 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Wed, 10 Nov 2021 13:29:09 +0100 Subject: [PATCH] =?utf8?q?L/Presenter:=20Funktion=20zum=20S=C3=A4ubern=20v?= =?utf8?q?on=20HTML=20von=20unerw=C3=BCnschten=20Tags?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- SL/Presenter/Text.pm | 16 +++++++++++++++- SL/Template/Plugin/L.pm | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/SL/Presenter/Text.pm b/SL/Presenter/Text.pm index dd855fc09..2943a5aa2 100644 --- a/SL/Presenter/Text.pm +++ b/SL/Presenter/Text.pm @@ -3,13 +3,16 @@ package SL::Presenter::Text; use strict; use SL::Presenter::EscapedText qw(escape); +use SL::HTML::Restrict; use Exporter qw(import); -our @EXPORT_OK = qw(format_man_days simple_format truncate); +our @EXPORT_OK = qw(format_man_days simple_format truncate restricted_html); our %EXPORT_TAGS = (ALL => \@EXPORT_OK); use Carp; +my $html_cleaner; + sub truncate { my ($text, %params) = @_; @@ -43,6 +46,12 @@ sub format_man_days { escape($output); } +sub restricted_html { + my ($value) = @_; + $html_cleaner //= SL::HTML::Restrict->create; + return $html_cleaner->process($value); +} + 1; __END__ @@ -89,6 +98,11 @@ paragraph change: they close the current paragraph tag and start a new one. Single newlines are converted to line breaks. Carriage returns are removed. +=item C + +Returns HTML code stripped from unwanted/unsupported content. This is +done via the module L. + =back =head1 BUGS diff --git a/SL/Template/Plugin/L.pm b/SL/Template/Plugin/L.pm index 1beeb0477..451fba1cc 100644 --- a/SL/Template/Plugin/L.pm +++ b/SL/Template/Plugin/L.pm @@ -85,6 +85,7 @@ sub date_tag { return _call_presenter('date_tag', sub div_tag { return _call_presenter('div_tag', @_); } sub radio_button_tag { return _call_presenter('radio_button_tag', @_); } sub img_tag { return _call_presenter('img_tag', @_); } +sub restricted_html { return _call_presenter('restricted_html', @_); } sub _set_id_attribute { my ($attributes, $name, $unique) = @_; -- 2.20.1