PATH:
home
/
lab2454c
/
healthvalidate.com
/
vendor
/
ezyang
/
htmlpurifier
/
library
/
HTMLPurifier
/
AttrTransform
<?php // must be called POST validation /** * Adds rel="nofollow" to all outbound links. This transform is * only attached if Attr.Nofollow is TRUE. */ class HTMLPurifier_AttrTransform_Nofollow extends HTMLPurifier_AttrTransform { /** * @type HTMLPurifier_URIParser */ private $parser; public function __construct() { $this->parser = new HTMLPurifier_URIParser(); } /** * @param array $attr * @param HTMLPurifier_Config $config * @param HTMLPurifier_Context $context * @return array */ public function transform($attr, $config, $context) { if (!isset($attr['href'])) { return $attr; } // XXX Kind of inefficient $url = $this->parser->parse($attr['href']); $scheme = $url->getSchemeObj($config, $context); if ($scheme->browsable && !$url->isLocal($config, $context)) { if (isset($attr['rel'])) { $rels = explode(' ', $attr['rel']); if (!in_array('nofollow', $rels)) { $rels[] = 'nofollow'; } $attr['rel'] = implode(' ', $rels); } else { $attr['rel'] = 'nofollow'; } } return $attr; } } // vim: et sw=4 sts=4
[-] TargetNoreferrer.php
[edit]
[-] Lang.php
[edit]
[-] ScriptRequired.php
[edit]
[-] Input.php
[edit]
[-] ImgRequired.php
[edit]
[+]
..
[-] Textarea.php
[edit]
[-] Border.php
[edit]
[-] BgColor.php
[edit]
[-] ImgSpace.php
[edit]
[-] BdoDir.php
[edit]
[-] Length.php
[edit]
[-] EnumToCSS.php
[edit]
[-] Name.php
[edit]
[-] TargetNoopener.php
[edit]
[-] NameSync.php
[edit]
[-] SafeEmbed.php
[edit]
[-] SafeObject.php
[edit]
[-] SafeParam.php
[edit]
[-] Background.php
[edit]
[-] TargetBlank.php
[edit]
[-] Nofollow.php
[edit]
[-] BoolToCSS.php
[edit]