Ejemplo n.º 1
0
 /**
  * Return an associative array of attribute names and values from
  * a partial tag string. Attribute names are forces to lowercase,
  * character references are decoded to UTF-8 text.
  *
  * @param string $text
  * @return array
  */
 public static function decodeTagAttributes($text)
 {
     if (trim($text) == '') {
         return array();
     }
     $attribs = array();
     $pairs = array();
     if (!preg_match_all(self::getAttribsRegex(), $text, $pairs, PREG_SET_ORDER)) {
         return $attribs;
     }
     foreach ($pairs as $set) {
         $attribute = strtolower($set[1]);
         $value = Sanitizer::getTagAttributeCallback($set);
         // Normalize whitespace
         $value = preg_replace('/[\\t\\r\\n ]+/', ' ', $value);
         $value = trim($value);
         // Decode character references
         $attribs[$attribute] = Sanitizer::decodeCharReferences($value);
     }
     return $attribs;
 }
Ejemplo n.º 2
0
 /**
  * Return an associative array of attribute names and values from
  * a partial tag string. Attribute names are forces to lowercase,
  * character references are decoded to UTF-8 text.
  *
  * @param string
  * @return array
  */
 function decodeTagAttributes($text)
 {
     $attribs = array();
     if (trim($text) == '') {
         return $attribs;
     }
     if (!preg_match_all(MW_ATTRIBS_REGEX, $text, $pairs, PREG_SET_ORDER)) {
         return $attribs;
     }
     foreach ($pairs as $set) {
         $attribute = strtolower($set[1]);
         $value = Sanitizer::getTagAttributeCallback($set);
         $attribs[$attribute] = Sanitizer::decodeCharReferences($value);
     }
     return $attribs;
 }