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

		// Remove XML, PHP, ASP, etc.
		$svg = preg_replace('/<\?(.*)\?>/Us', '', $svg);
		$svg = preg_replace('/<\%(.*)\%>/Us', '', $svg);

		if (
			false !== mb::strpos($svg, '<?') ||
			false !== mb::strpos($svg, '<%')
		) {
			return false;
		}

		// Remove comments.
		$svg = preg_replace('/<!--(.*)-->/Us', '', $svg);
		$svg = preg_replace('/\/\*(.*)\*\//Us', '', $svg);

		if (
			false !== mb::strpos($svg, '<!--') ||
			false !== mb::strpos($svg, '/*')
		) {
			return false;
		}

		return $svg;
	}
protected static function strip_comments($svg = '') {
		if (!is_string($svg)) {
			return false;
		}

		// Remove XML, PHP, ASP, etc.
		$svg = preg_replace('/<\?(.*)\?>/Us', '', $svg);
		$svg = preg_replace('/<\%(.*)\%>/Us', '', $svg);

		if (
			false !== mb::strpos($svg, '<?') ||
			false !== mb::strpos($svg, '<%')
		) {
			return false;
		}

		// Remove comments.
		$svg = preg_replace('/<!--(.*)-->/Us', '', $svg);
		$svg = preg_replace('/\/\*(.*)\*\//Us', '', $svg);

		if (
			false !== mb::strpos($svg, '<!--') ||
			false !== mb::strpos($svg, '/*')
		) {
			return false;
		}

		return $svg;
	}
Remove comments and interpreter tags from an SVG file

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