wp/lib/blobfolio/wp/bm/svg/svg_base.php
protected static function load_svg($svg = '') {
		// Early bail.
		if (!is_string($svg) || !strlen($svg)) {
			return false;
		}

		// Maybe a path?
		if (
			false === mb::strpos(mb::strtolower($svg), '<svg') ||
			false === mb::strrpos(mb::strtolower($svg), '</svg>')
		) {
			try {
				// @codingStandardsIgnoreStart
				$svg = @file_get_contents($svg);
				// @codingStandardsIgnoreEnd
				if (!is_string($svg) || !strlen($svg)) {
					return false;
				}
			} catch (\Throwable $e) {
				return false;
			} catch (\Exception $e) {
				return false;
			}
		}

		// Lowercase the tags.
		$svg = preg_replace('/<svg/ui', '<svg', $svg);
		$svg = preg_replace('/<\/svg>/ui', '</svg>', $svg);

		if (
			false === ($start = mb::strpos($svg, '<svg')) ||
			false === ($end = mb::strrpos($svg, '</svg>'))
		) {
			return false;
		}
		$svg = mb::substr($svg, $start, ($end - $start + 6));

		// Remove comments.
		$svg = static::strip_comments($svg);

		return $svg;
	}
protected static function load_svg($svg = '') {
		// Early bail.
		if (!is_string($svg) || !strlen($svg)) {
			return false;
		}

		// Maybe a path?
		if (
			false === mb::strpos(mb::strtolower($svg), '<svg') ||
			false === mb::strrpos(mb::strtolower($svg), '</svg>')
		) {
			try {
				// @codingStandardsIgnoreStart
				$svg = @file_get_contents($svg);
				// @codingStandardsIgnoreEnd
				if (!is_string($svg) || !strlen($svg)) {
					return false;
				}
			} catch (\Throwable $e) {
				return false;
			} catch (\Exception $e) {
				return false;
			}
		}

		// Lowercase the tags.
		$svg = preg_replace('/<svg/ui', '<svg', $svg);
		$svg = preg_replace('/<\/svg>/ui', '</svg>', $svg);

		if (
			false === ($start = mb::strpos($svg, '<svg')) ||
			false === ($end = mb::strrpos($svg, '</svg>'))
		) {
			return false;
		}
		$svg = mb::substr($svg, $start, ($end - $start + 6));

		// Remove comments.
		$svg = static::strip_comments($svg);

		return $svg;
	}
Read an SVG file as contents or path.

@param string $svg SVG code or path.
@return string|bool SVG code. False on failure.