<?php
namespace Misuzu\Parsers\BBCode\Tags;

use Misuzu\Parsers\BBCode\BBCodeTag;

final class ImageTag extends BBCodeTag {
    public function parseText(string $text): string {
        return preg_replace_callback("/\[(img|imgmap)\]((?:https?:)?\/\/.+?)\[\/(img|imgmap)\]/", function($matches) {
            if($matches[1] !== $matches[3])
                return $matches[0];

            $url = parse_url($matches[2]);

            if(!empty($url['scheme']) && !in_array(mb_strtolower($url['scheme']), ['http', 'https'], true))
                return $matches[0];

            // return sprintf(
            //     '<span class="js-msz-embed-media" data-msz-embed-url="%1$s"></span>'
            //     . '<noscript><img src="%1$s" alt="%1$s" style="max-width:100%%;max-height:900px;"></noscript>',
            //     $matches[1]
            // );

            return sprintf(
                '<img src="%1$s" alt="%1$s" style="max-width:100%%;max-height:900px;"%2$s>',
                $matches[2],
                $matches[1] === 'imgmap' ? ' ismap' : '',
            );
        }, $text);
    }
}
