ILIAS
Release_4_1_x_branch Revision 61804
◀ ilDoc Overview
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Groups
Pages
Nmtokens.php
Go to the documentation of this file.
1
<?php
2
6
class
HTMLPurifier_AttrDef_HTML_Nmtokens
extends
HTMLPurifier_AttrDef
7
{
8
9
public
function
validate
($string,
$config
, $context) {
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
}
22
26
protected
function
split
($string,
$config
, $context) {
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
}
40
46
protected
function
filter
($tokens,
$config
, $context) {
47
return
$tokens;
48
}
49
50
}
51
52
// vim: et sw=4 sts=4
Services
Html
HtmlPurifier
library
HTMLPurifier
AttrDef
HTML
Nmtokens.php
Generated on Thu Apr 21 2016 19:02:50 for ILIAS by
1.8.1.2 (using
Doxyfile
)