ILIAS
Release_4_0_x_branch Revision 61816
◀ ilDoc Overview
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Groups
Pages
PurifierLinkify.php
Go to the documentation of this file.
1
<?php
2
7
class
HTMLPurifier_Injector_PurifierLinkify
extends
HTMLPurifier_Injector
8
{
9
10
public
$name
=
'PurifierLinkify'
;
11
public
$docURL
;
12
public
$needed
= array(
'a'
=> array(
'href'
));
13
14
public
function
prepare
(
$config
, $context) {
15
$this->docURL =
$config
->get(
'AutoFormat.PurifierLinkify.DocURL'
);
16
return
parent::prepare
(
$config
, $context);
17
}
18
19
public
function
handleText
(&$token) {
20
if
(!$this->
allowsElement
(
'a'
))
return
;
21
if
(strpos($token->data,
'%'
) ===
false
)
return
;
22
23
$bits = preg_split(
'#%([a-z0-9]+\.[a-z0-9]+)#Si'
, $token->data, -1, PREG_SPLIT_DELIM_CAPTURE);
24
$token = array();
25
26
// $i = index
27
// $c = count
28
// $l = is link
29
for
($i = 0, $c = count($bits),
$l
=
false
; $i < $c; $i++,
$l
= !
$l
) {
30
if
(!$l) {
31
if
($bits[$i] ===
''
)
continue
;
32
$token[] =
new
HTMLPurifier_Token_Text
($bits[$i]);
33
}
else
{
34
$token[] =
new
HTMLPurifier_Token_Start
(
'a'
,
35
array(
'href'
=> str_replace(
'%s'
, $bits[$i], $this->docURL)));
36
$token[] =
new
HTMLPurifier_Token_Text
(
'%'
. $bits[$i]);
37
$token[] =
new
HTMLPurifier_Token_End
(
'a'
);
38
}
39
}
40
41
}
42
43
}
44
45
// vim: et sw=4 sts=4
Services
Html
HtmlPurifier
library
HTMLPurifier
Injector
PurifierLinkify.php
Generated on Wed Apr 27 2016 19:01:42 for ILIAS by
1.8.1.2 (using
Doxyfile
)