Name

restrict_html — filter out all but the restricted set of allowed HTML tags in input

DESCRIPTION

The filter restricts the set of HTML tags that can appear in the input. Tags not found among the allowed ones are filtered out.

EXAMPLES

Example: Filter example

[filter restrict_html.p.br.ul.li.b]
<ul>
<li> Item lists are allowed.
</ul>
<p>
As well as paragraphs and<br>
newlines.
</p>
Links, such as <a href="http://www.icdevgroup.org">ICDEVGROUP</a> are
<b>not</b> allowed.
[/filter]
Example in action:
              

<ul>
<li> Item lists are allowed.
</ul>
<p>
As well as paragraphs and<br>
newlines.
</p>
Links, such as <a href="http://www.icdevgroup.org">ICDEVGROUP</a> are
<b>not</b> allowed.


            

NOTES

For more information on Perl Regular Expressions, pattern matching and character classes, see perlre(1).

AVAILABILITY

restrict_html is available in Interchange versions:

4.6.0-5.9.0 (git-head)

SOURCE

Interchange 5.9.0:

Source: code/Filter/restrict_html.filter
Lines: 23


# Copyright 2002-2007 Interchange Development Group and others
# Copyright 1996-2002 Red Hat, Inc.
# 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.  See the LICENSE file for details.
# 
# $Id: restrict_html.filter,v 1.5 2007-03-30 23:40:45 pajamian Exp $

CodeDef restrict_html Filter
CodeDef restrict_html Description Restrict HTML
CodeDef restrict_html Visibility  private
CodeDef restrict_html Routine <<EOR
sub {
my $val = shift;
shift;
my %allowed;
$allowed{lc $_} = 1 for @_;
$val =~ s{<(/?(\w[-\w]*)[\s>])}{ ($allowed{lc $2} ? '<' : '&lt;') . $1 }ge;
return $val;
}
EOR

AUTHORS

Interchange Development Group

SEE ALSO

DocBook! Interchange!