ILIAS  Release_4_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
HTMLPurifier_AttrDef_HTML_Nmtokens Class Reference

Validates contents based on NMTOKENS attribute type. More...

+ Inheritance diagram for HTMLPurifier_AttrDef_HTML_Nmtokens:
+ Collaboration diagram for HTMLPurifier_AttrDef_HTML_Nmtokens:

Public Member Functions

 validate ($string, $config, $context)
 Validates and cleans passed string according to a definition.
- Public Member Functions inherited from HTMLPurifier_AttrDef
 parseCDATA ($string)
 Convenience method that parses a string as if it were CDATA.
 make ($string)
 Factory method for creating this class from a string.

Protected Member Functions

 split ($string, $config, $context)
 Splits a space separated list of tokens into its constituent parts.
 filter ($tokens, $config, $context)
 Template method for removing certain tokens based on arbitrary criteria.
- Protected Member Functions inherited from HTMLPurifier_AttrDef
 mungeRgb ($string)
 Removes spaces from rgb(0, 0, 0) so that shorthand CSS properties work properly.

Additional Inherited Members

- Data Fields inherited from HTMLPurifier_AttrDef
 $minimized = false
 Tells us whether or not an HTML attribute is minimized.
 $required = false
 Tells us whether or not an HTML attribute is required.

Detailed Description

Validates contents based on NMTOKENS attribute type.

Definition at line 6 of file Nmtokens.php.

Member Function Documentation

HTMLPurifier_AttrDef_HTML_Nmtokens::filter (   $tokens,
  $config,
  $context 
)
protected

Template method for removing certain tokens based on arbitrary criteria.

Note
If we wanted to be really functional, we'd do an array_filter with a callback. But... we're not.

Reimplemented in HTMLPurifier_AttrDef_HTML_Class.

Definition at line 46 of file Nmtokens.php.

Referenced by validate().

{
return $tokens;
}

+ Here is the caller graph for this function:

HTMLPurifier_AttrDef_HTML_Nmtokens::split (   $string,
  $config,
  $context 
)
protected

Splits a space separated list of tokens into its constituent parts.

Reimplemented in HTMLPurifier_AttrDef_HTML_Class.

Definition at line 26 of file Nmtokens.php.

Referenced by validate().

{
// OPTIMIZABLE!
// do the preg_match, capture all subpatterns for reformulation
// we don't support U+00A1 and up codepoints or
// escaping because I don't know how to do that with regexps
// and plus it would complicate optimization efforts (you never
// see that anyway).
$pattern = '/(?:(?<=\s)|\A)'. // look behind for space or string start
'((?:--|-?[A-Za-z_])[A-Za-z_\-0-9]*)'.
'(?:(?=\s)|\z)/'; // look ahead for space or string end
preg_match_all($pattern, $string, $matches);
return $matches[1];
}

+ Here is the caller graph for this function:

HTMLPurifier_AttrDef_HTML_Nmtokens::validate (   $string,
  $config,
  $context 
)

Validates and cleans passed string according to a definition.

Parameters
$stringString to be validated and cleaned.
$configMandatory HTMLPurifier_Config object.
$contextMandatory HTMLPurifier_AttrContext object.

Reimplemented from HTMLPurifier_AttrDef.

Definition at line 9 of file Nmtokens.php.

References $config, filter(), and split().

{
$string = trim($string);
// early abort: '' and '0' (strings that convert to false) are invalid
if (!$string) return false;
$tokens = $this->split($string, $config, $context);
$tokens = $this->filter($tokens, $config, $context);
if (empty($tokens)) return false;
return implode(' ', $tokens);
}

+ Here is the call graph for this function:


The documentation for this class was generated from the following file: