Katalog ASP odkaz∙: Hledßte informace o ASP? Zkuste nßÜ nov² katalog odkaz∙ na ASP weby. Vφce zde...
TextLink.cz
VyÜlo: 10.1.2001 Rubrika: ASP - Nßstroje/soft

ToASCII: Jak z textu odstranit diakritiku?
P°i tvorb∞ kvalitnφch WWW strßnek je obΦas nutnΘ vytvo°it jejich verzi bez diakritiky. Tato Φinnost by nebyla nikterak zßbavnß, kdyby neexistovala funkce ToASCII, kterß konvertuje veÜkerΘ znaky s diakritikou na jejich "kamarßdy", kterΘ diakritiku neobsahujφ. Vφce v dneÜnφm Φlßnku...

P°i tvorb∞ kvalitnφch WWW strßnek je obΦas nutnΘ vytvo°it jejich verzi bez diakritiky. Tato Φinnost by nebyla nikterak zßbavnß, kdyby neexistovala funkce ToASCII, kterß konvertuje veÜkerΘ znaky s diakritikou na jejich "kamarßdy", kterΘ diakritiku neobsahujφ.

ToASCII nalezne svΘ vyu₧itφ nap°φklad p°i tvorb∞ WAP strßnek, kdy je vhodnΘ(nikoliv vÜak nutnΘ) WML strßnky oprostit od hßΦk∙ a Φßrek. ToASCII je v tomto p°φpad∞ neoceniteln²m pomocnφkem.

Funkce ToASCII

<%
Function ToASCII(Txt2ASCII)
'Otestujeme zda-li °et∞zec ke zpracovßnφ n∞nφ prßzdn²(dΘlka=0).
      If IsNull(Txt2ASCII) Then
            ToASCII = ""
'Jestli₧e platφ IsNull, vyskoΦφme z funkce a vrßtφme prßzdn² °et∞zec.
            Exit Function
      End if
'Nadefinujeme pou₧φvanΘ prom∞nnΘ.
      Dim strVysledek, Case_Volba, X
      strVysledek = ""
'Pomocφ nßsledujφcφho cyklu FOR projdeme cel² °et∞zec p∞kn∞ znak po znaku.
      For X = 1 To Len(Txt2ASCII)
'Funkce Mid vrßtφ znak na aktußlnφ pozici v²b∞ru(prom∞nnß X).
            Case_Volba = Mid(Txt2ASCII,X ,1 )
'Testujeme zda-li vrßcen² znak v prom∞nnΘ Case_volba nenφ s diakritikou.
            Select Case Case_volba
                  Case "ß"
                        Case_volba = "a"
                  Case "┴"
                        Case_volba = "A"
                  Case "Φ"
                        Case_volba = "c"
                  Case "╚"
                        Case_volba = "C"
                  Case "∩"
                        Case_volba = "d"
                  Case "╧"
                        Case_volba = "D"
                  Case "Θ","∞"
                        Case_volba = "e"
                  Case "╔","╠"
                        Case_volba = "E"
                  Case "φ"
                        Case_volba = "i"
                  Case "═"
                        Case_volba = "I"
                  Case "≥"
                        Case_volba = "n"
                  Case "╥"
                        Case_volba = "N"
                  Case "≤"
                        Case_volba = "o"
                  Case "╙"
                        Case_volba = "O"
                  Case "°"
                        Case_volba = "r"
                  Case "╪"
                        Case_volba = "R"
                  Case "Ü"
                        Case_volba = "s"
                  Case "è"
                        Case_volba = "S"
                  Case "¥"
                        Case_volba = "t"
                  Case "ì"
                        Case_volba = "T"
                  Case "·","∙"
                        Case_volba = "u"
                  Case "┌","┘"
                        Case_volba = "U"
                  Case "²"
                        Case_volba = "y"
                  Case "▌"
                        Case_volba = "Y"
                  Case "₧"
                        Case_volba = "z"
                  Case "Ä"
                        Case_volba = "Z"
      End Select


'V²sledek konverze jednoho znaku p°ipojφme k ji₧ upravenΘmu °et∞zci strVysledek.

      strVysledek = strVysledek & Case_volba
    Next
'Jako v²sledek vrßtφme strVysledek.
   ToASCII = strVysledek
End Function
%>

Syntaxe:

strVystup = ToASCII(strToPreklad)


strVystup - °et∞zcovß hodnota(string), kterß bude obsahovat °et∞zec vrßcen² funkcφ(°et∞zec bez diakritiky).

strToPreklad - °et∞zcovß hodnota(string), kterou chcete oprostit od hßΦk∙ a Φßrek.

P°φklad:

<%
Dim strRetezec
strRetezec = ToASCII("Φ°²ßsssffÜΦ²°ΘÜΦ²°Θ°²φΘ∞sdÜÜdf∞°∞f₧Ü₧°Ü²Φ°²Φ°hgfh")
Response.Write(strRetezec)
%>

V²stup tohoto p°φkladu bude nßsledujφcφ:

cryasssffscyrescyreryieesdssdferefzszrsycrycrhgfh


Zden∞k Cendra
ceskywap@ceskywap.cz



   Souvisejφcφ Φlßnky
TextLink.cz