Jump to content


Photo

Quebrando Uma String


  • Faça o login para participar
2 replies to this topic

#1 Renan Gonçalves

Renan Gonçalves

    Web Developer

  • Usuários
  • 771 posts
  • Sexo:Masculino
  • Localidade:São Paulo, SP
  • Interesses:Programar PHP, Java (e JSP), Javascript (com Ajax, claro), Ruby (on Rails) !

Posted 04/05/2007, 17:25

Olá pessoal,

Eu estou fazendo um sistema em ASP, bem simples.
E estou tentando quebrar uma STRING e transformar numa ARRAY, teria como?

A url vem assim, por exemplo:
parametro1=valor1&parametro2=valor2&parametro3=valor3

Gostaria de quebra-la de modo que o resultado seja um array, assim:
Array(
parametro1 => 'valor1',
parametro2 => 'valor2,
parametro3 => 'valor3'
);



Aguardo informações,


[]'s

Renan Gonçalves
renan.saddam@gmail.com
(WebSite / Gmail / orkut / Windows Live! Messenger
)

"Aquele que se define se limita."


#2 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 04/05/2007, 19:52

Como vc tem uma boa noção (e até mais :)) de PHP vai enteder rápido ...
É so usar o "split" com algumas outras funções já que o ASP não tem algumas funções nativas que nem o PHP ajudando fazer isso, sem contar que o ASP não aceita Array com chave em formato de String e somente em formato número, além de vc ter que iformar o número do array ... em sumula uma droga use PHP mesmo ... ou se adptite as dificulddaes ou se bobiar era mais facil usar forçar o serve a usar o JScript que é bem mais parecido com PHP ...

Usando sua String ficaria +/- assim ....
<%
Dim Texto, Valores(3)

Texto = "parametro1=valor1¶metro2=valor2¶metro3=valor3"

' Divide a String inicial
' Divide_Um(0) = parametro1=valor1
' Divide_Um(1) = parametro2=valor2 ....
Divide_Um = Split(Texto, "&", -1, vbTextCompare)

' Listra todos os arrays iniciais
Countagem = 0 
For Each Dividido In Divide_um
 ' Agora divide os Argumentos e coloca no Array
 Sub_Valores = Split(Dividido, "=", 2, vbTextCompare)
 Valores(Countagem) = Sub_Valores(1)
 Countagem = (Countagem + 1)
Next

' Agora vc faz o que criser com o valor, como imprimir
Response.Write "parametro1: "  & Valores(0) & "<br>"
Response.Write "parametro2: "  & Valores(1) & "<br>"
Response.Write "parametro3: "  & Valores(2)
%>

Usado com JSCript forçado o seu uso atraz do "cabeçalho", é até melhor ... pois o array é mais igual ao do PHP ...
<% @LANGUAGE="JScript" %>
<%

var Texto = "parametro1=valor1¶metro2=valor2¶metro3=valor3";
var Divide_Um = Texto.split("&");

var Valores = new Array();
for (Dividido in Divide_Um) {
 var sub_valores = Divide_Um[Dividido].split("=");
 Valores[sub_valores[0]] = sub_valores[1];
}

Response.Write(Valores["parametro1"]);
Response.Write(Valores["parametro2"]);
Response.Write(Valores["parametro3"]);

%>

Edição feita por: sk15, 04/05/2007, 19:53.


#3 Renan Gonçalves

Renan Gonçalves

    Web Developer

  • Usuários
  • 771 posts
  • Sexo:Masculino
  • Localidade:São Paulo, SP
  • Interesses:Programar PHP, Java (e JSP), Javascript (com Ajax, claro), Ruby (on Rails) !

Posted 05/05/2007, 15:21

Olá sk15,

Realmente, no PHP os Hashs, Maps e Arrays são todos considerados apenas com Array, já o ASP, pelo o que eu entendi e você confirmou, apenas trata Arrays.
E como eu soube que infelizmente não se pode definir chaves alfa-númericas em uma Array no ASP eu simplesmente fiz um laço nas quebras e busquei pelos resultados que me interessavam usando um Select Case.

De qualquer forma muito obrigado !
E felizmente para mim só tenho que usar o ASP nesse pequeno projeto.


[]'s
OBS: O projeto é implementação da forma de pagamento AMEX.

Renan Gonçalves
renan.saddam@gmail.com
(WebSite / Gmail / orkut / Windows Live! Messenger
)

"Aquele que se define se limita."





0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq