12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <?php
- class HTMLPurifier_AttrTransform_TargetBlank extends HTMLPurifier_AttrTransform
- {
-
- private $parser;
- public function __construct()
- {
- $this->parser = new HTMLPurifier_URIParser();
- }
-
- public function transform($attr, $config, $context)
- {
- if (!isset($attr['href'])) {
- return $attr;
- }
-
- $url = $this->parser->parse($attr['href']);
-
-
- if (!($scheme = $url->getSchemeObj($config, $context))) {
- return $attr;
- }
- if ($scheme->browsable && !$url->isBenign($config, $context)) {
- $attr['target'] = '_blank';
- }
- return $attr;
- }
- }
|