type = $type; } /** * Build a generic inline format from an HTML tag. * * @param string $tag_name HTML tag name. * * @return self|null */ public static function from_html_tag( string $tag_name ): ?self { $format = [ 'B' => 'bolding', 'BR' => 'newlining', 'CODE' => 'monospacing', 'EM' => 'emphasizing', 'I' => 'emphasizing', 'Q' => 'quoting', 'S' => 'striking-out', 'REMARK' => 'striking-out', 'STRONG' => 'bolding', 'SUB' => 'subscripting', 'SUP' => 'superscripting', ][ $tag_name ] ?? null; return isset( $format ) ? new self( $format ) : null; } }