1<?php
2
3/**
4 * Injector that displays the URL of an anchor instead of linking to it, in addition to showing the text of the link.
5 */
6class HTMLPurifier_Injector_DisplayLinkURI extends HTMLPurifier_Injector
7{
8    /**
9     * @type string
10     */
11    public $name = 'DisplayLinkURI';
12
13    /**
14     * @type array
15     */
16    public $needed = array('a');
17
18    /**
19     * @param $token
20     */
21    public function handleElement(&$token)
22    {
23    }
24
25    /**
26     * @param HTMLPurifier_Token $token
27     */
28    public function handleEnd(&$token)
29    {
30        if (isset($token->start->attr['href'])) {
31            $url = $token->start->attr['href'];
32            unset($token->start->attr['href']);
33            $token = array($token, new HTMLPurifier_Token_Text(" ($url)"));
34        } else {
35            // nothing to display
36        }
37    }
38}
39
40// vim: et sw=4 sts=4
41