public static function get_allowed_tags() {
		$tags = array(
			'a',
			'altGlyph',
			'altGlyphDef',
			'altGlyphItem',
			'animate',
			'animateColor',
			'animateMotion',
			'animateTransform',
			'audio',
			'canvas',
			'circle',
			'clipPath',
			'color-profile',
			'cursor',
			'defs',
			'desc',
			'discard',
			'ellipse',
			'feBlend',
			'feColorMatrix',
			'feComponentTransfer',
			'feComposite',
			'feConvolveMatrix',
			'feDiffuseLighting',
			'feDisplacementMap',
			'feDistantLight',
			'feDropShadow',
			'feFlood',
			'feFuncA',
			'feFuncB',
			'feFuncG',
			'feFuncR',
			'feGaussianBlur',
			'feImage',
			'feMerge',
			'feMergeNode',
			'feMorphology',
			'feOffset',
			'fePointLight',
			'feSpecularLighting',
			'feSpotLight',
			'feTile',
			'feTurbulence',
			'filter',
			'font',
			'font-face',
			'font-face-format',
			'font-face-name',
			'font-face-src',
			'font-face-uri',
			'g',
			'glyph',
			'glyphRef',
			'hatch',
			'hatchpath',
			'hkern',
			'image',
			'line',
			'linearGradient',
			'marker',
			'mask',
			'mesh',
			'meshgradient',
			'meshpatch',
			'meshrow',
			'metadata',
			'missing-glyph',
			'mpath',
			'path',
			'pattern',
			'polygon',
			'polyline',
			'radialGradient',
			'rect',
			'set',
			'solidcolor',
			'stop',
			'style',
			'svg',
			'switch',
			'symbol',
			'text',
			'textPath',
			'title',
			'tref',
			'tspan',
			'unknown',
			'use',
			'video',
			'view',
			'vkern',
		);

		$tags = apply_filters('blobmimes_svg_allowed_tags', $tags);
		if (!is_array($tags) || !count($tags)) {
			return array();
		}

		// Convert to lowercase for easier comparison.
		foreach ($tags as $k=>$v) {
			$tags[$k] = mb::strtolower(trim($v));
			if (!strlen($tags[$k])) {
				unset($tags[$k]);
			}
		}

		// Pre-sorting will speed up looped checks.
		$tags = array_unique($tags);
		sort($tags);
		return $tags;
	}
public static function get_allowed_tags() {
		$tags = array(
			'a',
			'altGlyph',
			'altGlyphDef',
			'altGlyphItem',
			'animate',
			'animateColor',
			'animateMotion',
			'animateTransform',
			'audio',
			'canvas',
			'circle',
			'clipPath',
			'color-profile',
			'cursor',
			'defs',
			'desc',
			'discard',
			'ellipse',
			'feBlend',
			'feColorMatrix',
			'feComponentTransfer',
			'feComposite',
			'feConvolveMatrix',
			'feDiffuseLighting',
			'feDisplacementMap',
			'feDistantLight',
			'feDropShadow',
			'feFlood',
			'feFuncA',
			'feFuncB',
			'feFuncG',
			'feFuncR',
			'feGaussianBlur',
			'feImage',
			'feMerge',
			'feMergeNode',
			'feMorphology',
			'feOffset',
			'fePointLight',
			'feSpecularLighting',
			'feSpotLight',
			'feTile',
			'feTurbulence',
			'filter',
			'font',
			'font-face',
			'font-face-format',
			'font-face-name',
			'font-face-src',
			'font-face-uri',
			'g',
			'glyph',
			'glyphRef',
			'hatch',
			'hatchpath',
			'hkern',
			'image',
			'line',
			'linearGradient',
			'marker',
			'mask',
			'mesh',
			'meshgradient',
			'meshpatch',
			'meshrow',
			'metadata',
			'missing-glyph',
			'mpath',
			'path',
			'pattern',
			'polygon',
			'polyline',
			'radialGradient',
			'rect',
			'set',
			'solidcolor',
			'stop',
			'style',
			'svg',
			'switch',
			'symbol',
			'text',
			'textPath',
			'title',
			'tref',
			'tspan',
			'unknown',
			'use',
			'video',
			'view',
			'vkern',
		);

		$tags = apply_filters('blobmimes_svg_allowed_tags', $tags);
		if (!is_array($tags) || !count($tags)) {
			return array();
		}

		// Convert to lowercase for easier comparison.
		foreach ($tags as $k=>$v) {
			$tags[$k] = mb::strtolower(trim($v));
			if (!strlen($tags[$k])) {
				unset($tags[$k]);
			}
		}

		// Pre-sorting will speed up looped checks.
		$tags = array_unique($tags);
		sort($tags);
		return $tags;
	}
public static function get_allowed_tags ( ) { $ tags = array ( 'a' , 'altGlyph' , 'altGlyphDef' , 'altGlyphItem' , 'animate' , 'animateColor' , 'animateMotion' , 'animateTransform' , 'audio' , 'canvas' , 'circle' , 'clipPath' , 'color-profile' , 'cursor' , 'defs' , 'desc' , 'discard' , 'ellipse' , 'feBlend' , 'feColorMatrix' , 'feComponentTransfer' , 'feComposite' , 'feConvolveMatrix' , 'feDiffuseLighting' , 'feDisplacementMap' , 'feDistantLight' , 'feDropShadow' , 'feFlood' , 'feFuncA' , 'feFuncB' , 'feFuncG' , 'feFuncR' , 'feGaussianBlur' , 'feImage' , 'feMerge' , 'feMergeNode' , 'feMorphology' , 'feOffset' , 'fePointLight' , 'feSpecularLighting' , 'feSpotLight' , 'feTile' , 'feTurbulence' , 'filter' , 'font' , 'font-face' , 'font-face-format' , 'font-face-name' , 'font-face-src' , 'font-face-uri' , 'g' , 'glyph' , 'glyphRef' , 'hatch' , 'hatchpath' , 'hkern' , 'image' , 'line' , 'linearGradient' , 'marker' , 'mask' , 'mesh' , 'meshgradient' , 'meshpatch' , 'meshrow' , 'metadata' , 'missing-glyph' , 'mpath' , 'path' , 'pattern' , 'polygon' , 'polyline' , 'radialGradient' , 'rect' , 'set' , 'solidcolor' , 'stop' , 'style' , 'svg' , 'switch' , 'symbol' , 'text' , 'textPath' , 'title' , 'tref' , 'tspan' , 'unknown' , 'use' , 'video' , 'view' , 'vkern' , ) ; $ tags = apply_filters ( 'blobmimes_svg_allowed_tags' , $ tags ) ; if ( ! is_array ( $ tags ) || ! count ( $ tags ) ) { return array ( ) ; } // Convert to lowercase for easier comparison. foreach ( $ tags as $ k => $ v ) { $ tags [ $ k ] = mb :: strtolower ( trim ( $ v ) ) ; if ( ! strlen ( $ tags [ $ k ] ) ) { unset ( $ tags [ $ k ] ) ; } } // Pre-sorting will speed up looped checks. $ tags = array_unique ( $ tags ) ; sort ( $ tags ) ; return $ tags ; }
Return whitelisted tags

Based on SVG spec, minus anything scripty.

@see { https://developer.mozilla.org/en-US/docs/Web/SVG/Element }

@return array Array of valid tags.
Return whitelisted tags