1<?php 2declare( strict_types = 1 ); 3 4namespace Wikimedia\Parsoid\ParserTests; 5 6use DOMDocument; 7 8use Wikimedia\Parsoid\Ext\ExtensionModule; 9use Wikimedia\Parsoid\Ext\ExtensionTagHandler; 10use Wikimedia\Parsoid\Ext\ParsoidExtensionAPI; 11use Wikimedia\Parsoid\Utils\DOMCompat; 12 13class StyleTag extends ExtensionTagHandler implements ExtensionModule { 14 /** @inheritDoc */ 15 public function sourceToDom( 16 ParsoidExtensionAPI $extApi, string $content, array $args 17 ): DOMDocument { 18 $doc = $extApi->htmlToDom( '' ); // Empty doc 19 $style = $doc->createElement( 'style' ); 20 DOMCompat::setInnerHTML( $style, $content ); 21 $extApi->sanitizeArgs( $style, $args ); 22 DOMCompat::getBody( $doc )->appendChild( $style ); 23 return $doc; 24 } 25 26 /** @inheritDoc */ 27 public function getConfig(): array { 28 return [ 29 'name' => 'StyleTag', 30 'tags' => [ 31 [ 'name' => 'style', 'handler' => self::class ], 32 ], 33 ]; 34 } 35} 36