XOOPS 2.5.6
Final
Main Page
Related Pages
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
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
L:
0xoops
xoops-2.5.6
htdocs
xoops_lib
modules
protector
library
HTMLPurifier
Injector
PurifierLinkify.php
Generated on Fri May 10 2013 01:04:30 for XOOPS 2.5.6 by
1.8.3.1