[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/libraries/vendor/enshrined/svg-sanitize/src/ -> Helper.php (source)

   1  <?php
   2  namespace enshrined\svgSanitize;
   3  
   4  class Helper
   5  {
   6      /**
   7       * @param \DOMElement $element
   8       * @return string|null
   9       */
  10      public static function getElementHref(\DOMElement $element)
  11      {
  12          if ($element->hasAttribute('href')) {
  13              return $element->getAttribute('href');
  14          }
  15          if ($element->hasAttributeNS('http://www.w3.org/1999/xlink', 'href')) {
  16              return $element->getAttributeNS('http://www.w3.org/1999/xlink', 'href');
  17          }
  18          return null;
  19      }
  20  
  21      /**
  22       * @param string $href
  23       * @return string|null
  24       */
  25      public static function extractIdReferenceFromHref($href)
  26      {
  27          if (!is_string($href) || strpos($href, '#') !== 0) {
  28              return null;
  29          }
  30          return substr($href, 1);
  31      }
  32  
  33      /**
  34       * @param \DOMElement $needle
  35       * @param \DOMElement $haystack
  36       * @return bool
  37       */
  38      public static function isElementContainedIn(\DOMElement $needle, \DOMElement $haystack)
  39      {
  40          if ($needle === $haystack) {
  41              return true;
  42          }
  43          foreach ($haystack->childNodes as $childNode) {
  44              if (!$childNode instanceof \DOMElement) {
  45                  continue;
  46              }
  47              if (self::isElementContainedIn($needle, $childNode)) {
  48                  return true;
  49              }
  50          }
  51          return false;
  52      }
  53  }


Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer