HumHub Documentation (unofficial)

HTMLPurifier_ElementDef
in package

Structure that stores an HTML element definition. Used by HTMLPurifier_HTMLDefinition and HTMLPurifier_HTMLModule.

Tags
note

This class is inspected by HTMLPurifier_Printer_HTMLDefinition. Please update that class too.

warning

If you add new properties to this class, you MUST update the mergeIn() method.

Table of Contents

Properties

$attr  : mixed
Associative array of attribute name to HTMLPurifier_AttrDef.
$attr_transform_post  : mixed
List of tags HTMLPurifier_AttrTransform to be done after validation.
$attr_transform_pre  : mixed
List of tags HTMLPurifier_AttrTransform to be done before validation.
$autoclose  : mixed
This tag is explicitly auto-closed by the following tags.
$child  : mixed
HTMLPurifier_ChildDef of this tag.
$content_model  : mixed
Abstract string representation of internal ChildDef rules.
$content_model_type  : mixed
Value of $child->type, used to determine which ChildDef to use, used in combination with $content_model.
$descendants_are_inline  : mixed
Does the element have a content model (#PCDATA | Inline)*? This is important for chameleon ins and del processing in HTMLPurifier_ChildDef_Chameleon. Dynamically set: modules don't have to worry about this one.
$excludes  : mixed
Lookup table of tags excluded from all descendants of this tag.
$formatting  : mixed
Whether or not this is a formatting element affected by the "Active Formatting Elements" algorithm.
$required_attr  : mixed
List of the names of required attributes this element has.
$standalone  : mixed
Does the definition work by itself, or is it created solely for the purpose of merging into another definition?
$wrap  : mixed
If a foreign element is found in this element, test if it is allowed by this sub-element; if it is, instead of closing the current element, place it inside this element.

Methods

create()  : mixed
Low-level factory constructor for creating new standalone element defs
mergeIn()  : mixed
Merges the values of another element definition into this one.
_mergeAssocArray()  : mixed
Merges one array into another, removes values which equal false

Properties

$attr

Associative array of attribute name to HTMLPurifier_AttrDef.

public mixed $attr = array()
Tags
type

array

note

Before being processed by HTMLPurifier_AttrCollections when modules are finalized during HTMLPurifier_HTMLDefinition->setup(), this array may also contain an array at index 0 that indicates which attribute collections to load into the full array. It may also contain string indentifiers in lieu of HTMLPurifier_AttrDef, see HTMLPurifier_AttrTypes on how they are expanded during HTMLPurifier_HTMLDefinition->setup() processing.

$attr_transform_post

List of tags HTMLPurifier_AttrTransform to be done after validation.

public mixed $attr_transform_post = array()
Tags
type

array

$attr_transform_pre

List of tags HTMLPurifier_AttrTransform to be done before validation.

public mixed $attr_transform_pre = array()
Tags
type

array

$autoclose

This tag is explicitly auto-closed by the following tags.

public mixed $autoclose = array()
Tags
type

array

$child

HTMLPurifier_ChildDef of this tag.

public mixed $child
Tags
type

HTMLPurifier_ChildDef

$content_model

Abstract string representation of internal ChildDef rules.

public mixed $content_model
Tags
see
HTMLPurifier_ContentSets

for how this is parsed and then transformed into an HTMLPurifier_ChildDef.

warning

This is a temporary variable that is not available after being processed by HTMLDefinition

type

string

$content_model_type

Value of $child->type, used to determine which ChildDef to use, used in combination with $content_model.

public mixed $content_model_type
Tags
warning

This must be lowercase

warning

This is a temporary variable that is not available after being processed by HTMLDefinition

type

string

$descendants_are_inline

Does the element have a content model (#PCDATA | Inline)*? This is important for chameleon ins and del processing in HTMLPurifier_ChildDef_Chameleon. Dynamically set: modules don't have to worry about this one.

public mixed $descendants_are_inline = \false
Tags
type

bool

$excludes

Lookup table of tags excluded from all descendants of this tag.

public mixed $excludes = array()
Tags
type

array

note

SGML permits exclusions for all descendants, but this is not possible with DTDs or XML Schemas. W3C has elected to use complicated compositions of content_models to simulate exclusion for children, but we go the simpler, SGML-style route of flat-out exclusions, which correctly apply to all descendants and not just children. Note that the XHTML Modularization Abstract Modules are blithely unaware of such distinctions.

$formatting

Whether or not this is a formatting element affected by the "Active Formatting Elements" algorithm.

public mixed $formatting
Tags
type

bool

$required_attr

List of the names of required attributes this element has.

public mixed $required_attr = array()

Dynamically populated by HTMLPurifier_HTMLDefinition::getElement()

Tags
type

array

$standalone

Does the definition work by itself, or is it created solely for the purpose of merging into another definition?

public mixed $standalone = \true
Tags
type

bool

$wrap

If a foreign element is found in this element, test if it is allowed by this sub-element; if it is, instead of closing the current element, place it inside this element.

public mixed $wrap
Tags
type

string

Methods

create()

Low-level factory constructor for creating new standalone element defs

public static create(mixed $content_model, mixed $content_model_type, mixed $attr) : mixed
Parameters
$content_model : mixed
$content_model_type : mixed
$attr : mixed

_mergeAssocArray()

Merges one array into another, removes values which equal false

private _mergeAssocArray(mixed &$a1, mixed $a2) : mixed
Parameters
$a1 : mixed

Array by reference that is merged into

$a2 : mixed

Array that merges into $a1


        
On this page

Search results