%s', htmlspecialchars( $value ) ); } public static function h1( string $value ): string { return sprintf( '%s', htmlspecialchars( $value ) ); } public static function h2( string $value ): string { return sprintf( '%s', htmlspecialchars( $value ) ); } public static function h3( string $value ): string { return sprintf( '%s', htmlspecialchars( $value ) ); } public static function link( string $href, string $title, string $value ): string { return sprintf( '%s', htmlspecialchars( $href ), htmlspecialchars( $title ), htmlspecialchars( $value ) ); } public static function list( string $value ): string { return sprintf( '* %s', // @TODO htmlspecialchars( $value ) ); } public static function quote( string $value ): string { return sprintf( '%s', htmlspecialchars( $value ) ); } public static function text( string $value ): string { return htmlspecialchars( $value ); } public static function pre( string $value ): string { return htmlspecialchars( $value ); } public static function tag( string $const, bool $close ): string { if (in_array($const, [self::TAG_CODE])) { return sprintf( $close ? '' : '<%s>', $const ); } throw new Exception; } }