ILIAS  release_4-4 Revision
All Data Structures Namespaces Files Functions Variables Modules 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)
 
- Public Member Functions inherited from HTMLPurifier_AttrDef
 validate ($string, $config, $context)
 Validates and cleans passed string according to a definition. More...
 
 parseCDATA ($string)
 Convenience method that parses a string as if it were CDATA. More...
 
 make ($string)
 Factory method for creating this class from a string. More...
 

Protected Member Functions

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

Additional Inherited Members

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

Detailed Description

Validates contents based on NMTOKENS attribute type.

Definition at line 6 of file Nmtokens.php.

Member Function Documentation

◆ filter()

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.

Definition at line 46 of file Nmtokens.php.

Referenced by validate().

46  {
47  return $tokens;
48  }
+ Here is the caller graph for this function:

◆ split()

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

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

Definition at line 26 of file Nmtokens.php.

Referenced by validate().

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

◆ validate()

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

Definition at line 9 of file Nmtokens.php.

References filter(), and split().

9  {
10 
11  $string = trim($string);
12 
13  // early abort: '' and '0' (strings that convert to false) are invalid
14  if (!$string) return false;
15 
16  $tokens = $this->split($string, $config, $context);
17  $tokens = $this->filter($tokens, $config, $context);
18  if (empty($tokens)) return false;
19  return implode(' ', $tokens);
20 
21  }
split($string, $config, $context)
Splits a space separated list of tokens into its constituent parts.
Definition: Nmtokens.php:26
filter($tokens, $config, $context)
Template method for removing certain tokens based on arbitrary criteria.
Definition: Nmtokens.php:46
+ Here is the call graph for this function:

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