blob: a43e27e54925c70b06ab67ab578a3df6c8d55124 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<?php
/**
* Classify links as internal or external and set the class attribute
* accordingly.
*/
class HTMLPurifier_Injector_ClassifyLinks extends HTMLPurifier_Injector
{
public $name = 'ClassifyLinks';
public $needed = ['a' => ['href', 'class', 'target']];
public function handleElement(&$token)
{
if ($token->name === 'a' && isset($token->attr['href'])) {
$is_link_intern = isLinkIntern($token->attr['href']);
if ($is_link_intern) {
$token->attr['class'] = 'link-intern';
} elseif (strpos($token->attr['href'], 'mailto:') !== 0) {
$token->attr['class'] = 'link-extern';
$token->attr['target'] = '_blank';
}
}
}
}
|