Aion-Format

 view release on metacpan or  search on metacpan

lib/Aion/Format/Html.pm  view on Meta::CPAN

package Aion::Format::Html;

use common::sense;

use Exporter qw/import/;
our @EXPORT = our @EXPORT_OK = grep {
	*{$Aion::Format::Html::{$_}}{CODE} && !/^(_|(NaN|import)\z)/n
} keys %Aion::Format::Html::;

# Экранирует символы html
my %HTML_SIM = (qw/< &lt; > &gt; & &amp; \' &apos; " &quot;/, "\n" => '<br>', "\t" => '&emsp;');
sub to_html (;$) {
	my ($s) = @_? @_: $_;
	$s =~ s/[<>&\'\"]/$HTML_SIM{$&}/ge;
	$s
}

our %ENTITIES = (
#
# Управляющие символы C0 и основная латиница
# U+0000—U+007F
# Данный диапазон Юникода полностью соответствует стандарту ASCII за исключением соглашения о наложении литер через возврат на шаг.[3]
# Символ	Назначение	Мнемоника	HTML	Код
#
# U+0000—U+001F — управляющие символы C0
# табуляция — HT (ANSI), ГТ (ГОСТ)	&Tab;	5.0	U+0009 &#9;
Tab => 9,
# перевод строки — LF (ANSI), ПС (ГОСТ)	&NewLine;	5.0	U+000A &#10;
NewLine => 10,
#
# U+0032—U+007E — основная латиница
#
# пробел			U+0020 &#32;
# !	восклицательный знак	&excl;	5.0	U+0021 &#33;
excl => 33,
# "	двойная кавычка[4]	&QUOT;	5.0	U+0022 &#34; &quot;	2.0
quot => 34,
QUOT => 34,
# #	знак номера («решётка» или «диез»)	&num;	5.0	U+0023 &#35;
num => 35,
# $	знак доллара	&dollar;	5.0	U+0024 &#36;
dollar => 36,
# %	знак процента	&percnt;	5.0	U+0025 &#37;
percnt => 37,
# &	амперсанд	&AMP;	5.0	U+0026 &#38;  &amp;	1.0/2.0
amp => 38,
AMP => 38,
# '	одинарная кавычка (занимающий позицию апостроф)[5]	&apos;	5.0	U+0027 &#39;
apos => 39,
# (	левая круглая скобка	&lpar;	5.0	U+0028 &#40;
lpar => 40,
# )	правая круглая скобка	&rpar;	5.0	U+0029 &#41;
rpar => 41,
# *	звёздочка (может быть как высоко, так и среднерасположенной)[6][7]	&ast;	5.0	U+002A &#42; &midast;
ast => 42,
midast => 42,
# +	знак плюс	&plus;	5.0	U+002B &#43;
plus => 43,
# ,	запятая[8]	&comma;	5.0	U+002C &#44;
comma => 44,
# -	чёрточка-минус (не рекомендован к использованию)[9][10]			U+002D &#45;
# .	точка[11]	&period;	5.0	U+002E &#46;
period => 46,
# /	косая черта (солидус)[12][13]	&sol;	5.0	U+002F &#47;
sol => 47,
#
#
# U+0030—U+0039 — цифры 0—9[14]
#
# :	двоеточие	&colon;	5.0	U+003A &#58;
colon => 58,
# ;	точка с запятой	&semi;	5.0	U+003B &#59;
semi => 59,
# <	знак меньше	&LT;	5.0	U+003C &#60; &lt;	1.0/2.0
LT => 60,
lt => 60,
# =	знак равенства	&equals;	5.0	U+003D &#61;
equals => 61,
# >	знак больше	&GT;	5.0	U+003E &#62; &gt;	1.0/2.0
GT => 62,
gt => 62,
# ?	знак вопроса	&quest;	5.0	U+003F &#63;
quest => 63,
# @	коммерческий «эт»	&commat;	5.0	U+0040 &#64;
commat => 64,
#
#
# U+0041—U+005A — заглавные латинские буквы A—Z[15]
#
# [	левая квадратная скобка	&lsqb;	5.0	U+005B &#91; &lbrack;
lbrack => 91,
lsqb => 91,
# \	обратная косая черта[16]	&bsol;	5.0	U+005C &#92;
bsol => 92,
# ]	правая квадратная скобка	&rsqb;	5.0	U+005D &#93; &rbrack;
rsqb => 93,
rbrack => 93,
# ^	карет — (может быть как высоко, так и среднерасположенным)[17][18]	&Hat;	5.0	U+005E &#94;
Hat => 94,
# _	занимающее позицию подчёркивание (должно стыковаться по горизонтали)[19]	&lowbar;	5.0	U+005F &#95; &UnderBar;
lowbar => 95,

lib/Aion/Format/Html.pm  view on Meta::CPAN

aogon => 261,
# Ć	латинская заглавная «C» с акутом	&Cacute;	5.0	U+0106 &#262;
Cacute => 262,
# ć	латинская строчная «c» с акутом	&cacute;	5.0	U+0107 &#263;
cacute => 263,
# Ĉ	латинская заглавная «C» с циркумфлексом	&Ccirc;	5.0	U+0108 &#264;
Ccirc => 264,
# ĉ	латинская строчная «c» с циркумфлексом	&ccirc;	5.0	U+0109 &#265;
ccirc => 265,
# Ċ	латинская заглавная «C» с точкой сверху	&Cdot;	5.0	U+010A &#266;
Cdot => 266,
# ċ	латинская строчная «c» с точкой сверху	&cdot;	5.0	U+010B &#267;
cdot => 267,
# Č	латинская заглавная «C» с птичкой	&Ccaron;	5.0	U+010C &#268;
Ccaron => 268,
# č	латинская строчная «c» с птичкой	&ccaron;	5.0	U+010D &#269;
ccaron => 269,
# Ď	латинская заглавная «D» с птичкой	&Dcaron;	5.0	U+010E &#270;
Dcaron => 270,
# ď	латинская строчная «d» с птичкой (в шрифтах предпочтителен вариант с апострофом)	&dcaron;	5.0	U+010F &#271;
dcaron => 271,
# Đ	латинская заглавная «D» с горизонтальным штрихом. На вид может не отличаться от Eth (Ð, U+00D0, &ETH;)	&Dstrok;	5.0	U+0110 &#272;
Dstrok => 272,
ETH => 272,
# đ	латинская строчная «d» с горизонтальным штрихом. На вид может не отличаться от eth (ð, U+00F0, &eth;)	&dstrok;	5.0	U+0111 &#273;
dstrok => 273,
eth => 273,
# Ē	латинская заглавная «E» с макроном	&Emacr;	5.0	U+0112 &#274;
Emacr => 274,
# ē	латинская строчная «e» с макроном	&emacr;	5.0	U+0113 &#275;
emacr => 275,
# Ĕ	латинская заглавная «E» с бреве			U+0114 &#276;
# ĕ	латинская строчная «e» с бреве			U+0115 &#277;
# Ė	латинская заглавная «E» с точкой сверху	&Edot;	5.0	U+0116 &#278;
Edot => 278,
# ė	латинская строчная «e» с точкой сверху	&edot;	5.0	U+0117 &#279;
edot => 279,
# Ę	латинская заглавная «E» с огонэком	&Eogon;	5.0	U+0118 &#280;
Eogon => 280,
# ę	латинская строчная «e» с огонэком	&eogon;	5.0	U+0119 &#281;
eogon => 281,
# Ě	латинская заглавная «E» с птичкой	&Ecaron;	5.0	U+011A &#282;
Ecaron => 282,
# ě	латинская строчная «e» с птичкой	&ecaron;	5.0	U+011B &#283;
ecaron => 283,
# Ĝ	латинская заглавная «G» с циркумфлексом	&Gcirc;	5.0	U+011C &#284;
Gcirc => 284,
# ĝ	латинская строчная «g» с циркумфлексом	&gcirc;	5.0	U+011D &#285;
gcirc => 285,
# Ğ	латинская заглавная «G» с бреве	&Gbreve;	5.0	U+011E &#286;
Gbreve => 286,
# ğ	латинская строчная «g» с бреве	&gbreve;	5.0	U+011F &#287;
gbreve => 287,
# Ġ	латинская заглавная «G» с точкой сверху	&Gdot;	5.0	U+0120 &#288;
Gdot => 288,
# ġ	латинская строчная «g» с точкой сверху	&gdot;	5.0	U+0121 &#289;
gdot => 289,
# Ģ	латинская заглавная «G» с цедилью	&Gcedil;	5.0	U+0122 &#290;
Gcedil => 290,
# ģ	латинская строчная «g» с цедилью			U+0123 &#291;
# Ĥ	латинская заглавная «H» с циркумфлексом	&Hcirc;	5.0	U+0124 &#292;
Hcirc => 292,
# ĥ	латинская строчная «h» с циркумфлексом	&hcirc;	5.0	U+0125 &#293;
hcirc => 293,
# Ħ	латинская заглавная «H» с горизонтальным штрихом	&Hstrok;	5.0	U+0126 &#294;
Hstrok => 294,
# ħ	латинская строчная «h» с горизонтальным штрихом	&hstrok;	5.0	U+0127 &#295;
hstrok => 295,
# Ĩ	латинская заглавная «I» с тильдой	&Itilde;	5.0	U+0128 &#296;
Itilde => 296,
# ĩ	латинская строчная «i» с тильдой	&itilde;	5.0	U+0129 &#297;
itilde => 297,
# Ī	латинская заглавная «I» с макроном	&Imacr;	5.0	U+012A &#298;
Imacr => 298,
# ī	латинская строчная «i» с макроном	&imacr;	5.0	U+012B &#299;
imacr => 299,
# Ĭ	латинская заглавная «I» с бреве			U+012C &#300;
# ĭ	латинская строчная «i» с бреве			U+012D &#301;
# Į	латинская заглавная «I» с огонэком	&Iogon;	5.0	U+012E &#302;
Iogon => 302,
# į	латинская строчная «i» с огонэком	&iogon;	5.0	U+012F &#303;
iogon => 303,
# İ	латинская заглавная «I» с точкой сверху	&Idot;	5.0	U+0130 &#304;
Idot => 304,
# ı	латинская строчная «i» без точки сверху	&imath;	5.0	U+0131 &#305; &inodot;
imath => 305,
inodot => 305,
# IJ	латинская заглавная лигатура «IJ»	&IJlig;	5.0	U+0132 &#306;
IJlig => 306,
# ij	латинская строчная лигатура «ij»	&ijlig;	5.0	U+0133 &#307;
ijlig => 307,
# Ĵ	латинская заглавная «J» с циркумфлексом	&Jcirc;	5.0	U+0134 &#308;
Jcirc => 308,
# ĵ	латинская строчная «j» с циркумфлексом	&jcirc;	5.0	U+0135 &#309;
jcirc => 309,
# Ķ	латинская заглавная «K» с цедилью	&Kcedil;	5.0	U+0136 &#310;
Kcedil => 310,
# ķ	латинская строчная «k» с цедилью	&kcedil;	5.0	U+0137 &#311;
kcedil => 311,
# ĸ	латинская строчная «kra» (гренландское «к»)	&kgreen;	5.0	U+0138 &#312;
kgreen => 312,
# Ĺ	латинская заглавная «L» с акутом	&Lacute;	5.0	U+0139 &#313;
Lacute => 313,
# ĺ	латинская строчная «l» с акутом	&lacute;	5.0	U+013A &#314;
lacute => 314,
# Ļ	латинская заглавная «L» с цедилью	&Lcedil;	5.0	U+013B &#315;
Lcedil => 315,
# ļ	латинская строчная «l» с цедилью	&lcedil;	5.0	U+013C &#316;
lcedil => 316,
# Ľ	латинская заглавная «L» с птичкой (в шрифтах предпочтителен вариант с апострофом)	&Lcaron;	5.0	U+013D &#317;
Lcaron => 317,
# ľ	латинская строчная «l» с птичкой (в шрифтах предпочтителен вариант с апострофом)	&lcaron;	5.0	U+013E &#318;
lcaron => 318,
# Ŀ	латинская заглавная «L» с точкой посередине	&Lmidot;	5.0	U+013F &#319;
Lmidot => 319,
# ŀ	латинская строчная «l» с точкой посередине	&lmidot;	5.0	U+0140 &#320;
lmidot => 320,
# Ł	латинская заглавная «L» с горизонтальным штрихом	&Lstrok;	5.0	U+0141 &#321;
Lstrok => 321,
# ł	латинская строчная «l» с горизонтальным штрихом	&lstrok;	5.0	U+0142 &#322;
lstrok => 322,



( run in 1.085 second using v1.01-cache-2.11-cpan-7fcb06a456a )