Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

xanburzum

caracteres especiais html para uma string

Recommended Posts

A função Formata aplica caracteres especiais html para uma string. Formata

utiliza códigos especiais para caracteres html. Os seguintes caracteres especiais são suportados :

 

carácter reconhecido substituído por

----------------------------------------------------------

[2] expoente 2 ²

 

[3] expoente 3 ³

 

[1] expoente 1 ¹

 

[0] expoente 0 º

 

[deg] símbolo graus °

 

[1/2] meio ½

 

[3/4] tres-quartos ¾

 

[1/4] um-quarto ¼

 

[tm] trademark ™

 

[c] copyright ©

 

[r] registrado ®

 

[div] divisão ÷

 

[plusminus] Sinal mais/menos ±

 

[pounds] libra inglesa £

 

[cents] Sinal Cents ¢

 

sintaxe:

 

string = Formata(string)

exemplo:

 

<%
dim a

a =	"123[3] 1442[1] 211343[2] 112[DEG]F 14[1/2] 12[3/4] 634[1/4] " & _
	" copyright [C] e registrado [R] trademark" & _
	"[TM]. 14[div]12 avg 4[mais/menos]2 334[libra inglesa  ] 65[cents]"

 ' escrever string resultante
response.write Formata( a )
%>

O exemplo acima retorna: 123³ 1442¹ 211343² 112°F 14½ 12¾ 634¼ este é

copyright © e registado ® trademark™. 14÷12 avg 4±2 334£ 65¢

 

code:

<%
Private Function Formata(byVal string)
	Const Delimiter1a = "[", Delimiter1b = "]"
	Dim a, b, c, d, strDel, strDel2
	strDel  = Delimiter1a : strDel2 = Delimiter1b
	a = instrrev( string, strDel ) : b = instrrev( string, strDel2 )
	c = Mid( string, a, b - a + 1)
	string = replace( string, c, lcase( c ) )
	d = CStr( c ) : d = LCase( c )
	Select Case LCase( d )
		Case strDel & "2" & strDel2
			string = Replace( string, d, chr( 178 ) )
		Case strDel & "3" & strDel2
			string = Replace( string, d, chr( 179 ) )
		Case strDel & "1" & strDel2
			string = Replace( string, d, chr( 185 ) )
		Case strDel & "0" & strDel2
			string = Replace( string, d, chr( 186 ) )
		Case strDel & "deg" & strDel2
			string = Replace( string, d, chr( 176 ) )
		Case strDel & "1/2" & strDel2
			string = Replace( string, d, chr( 189 ) )
		Case strDel & "3/4" & strDel2
			string = Replace( string, d, chr( 190 ) )
		Case strDel & "1/4" & strDel2
			string = Replace( string, d, chr( 188 ) )
		Case strDel & "tm" & strDel2
			string = Replace( string, d, chr( 153 ) )
		Case strDel & "c" & strDel2
			string = Replace( string, d, chr( 169 ) )
		Case strDel & "r" & strDel2
			string = Replace( string, d, chr( 174 ) )
		Case strDel & "div" & strDel2
			string = Replace( string, d, chr( 247 ) )
		Case strDel & "plusminus" & strDel2
			string = Replace( string, d, chr( 177 ) )
		Case strDel & "pounds" & strDel2
			string = Replace( string, d, chr( 163 ) )
		Case strDel & "cents" & strDel2
			string = Replace( string, d, chr( 162 ) )
	End Select
	if instr( string, Delimiter1a ) or instr( string, Delimiter1b ) then _
		string = Formata( string )
	Formata= string
End Function
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito útil.

 

Só uma idéia para reduzir o código... se ao invés de usar SELECT CASE você usa-se o REPLACE diretamente não seria melhor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.