Titolo: Estrarre i nomi e i valori da un url
Categoria: Codice |
|
Ultimo Aggiornamento: 05/04/05 |
Poniamo di avere una stringa nella forma "http://www.sviluppo4d.it?arg=1&arg2=2&arg3=3". Questa stringa è facilmente spezzata in due array di nomi e valori corrispondenti con il comando GET WEB FORM VARIABLES.
Ma in alcuni casi, per risparmiare spazio nella stringa (gli URL sono limitati a 255 caratteri) la stringa potrebbe essere del tipo "http://www.sviluppo4d.it?parametro1=500&miocomando", cioè potrebbe mancare il valore con il suo "=".
In questo caso si può usare questo metodo, che accetta come parametri la stringa e il puntatore dei due array, dei nomi e dei valori.
`Metodo: EstraiNomiEValori
C_TEXT($1;$testoParametri_t;$stringa_t)
C_POINTER($2;$Nomi_ptr)
C_POINTER($3;$Valori_ptr)
C_TEXT($sinistra_t;$destra_t)
$testoParametri_t:=$1
$Nomi_ptr:=$2
$Valori_ptr:=$3
` se troviamo un'altra & nella stringa la gestiamo richiamndo lo stesso metodo
If (Position("&";$testoParametri_t)#0)
$stringa_t:=Substring($testoParametri_t;0;Position("&";$testoParametri_t)-1)
$testoParametri_t:=Substring($testoParametri_t;Position("&";$testoParametri_t)+1)
EstraiNomiEValori($testoParametri_t;$Nomi_ptr;$Valori_ptr)
Else $stringa_t:=$testoParametri_t
End if ` Qui inizia il lavoro vero e proprio
If (Length($stringa_t)>0)
` controlla se si tratta di un assegnamento normale o solo di un nome
If (Position("=";$stringa_t)#0)
$sinistra_t:=Substring($stringa_t;0;Position("=";$stringa_t)-1) ` parte sinistra
$destra_t:=Substring($stringa_t;Position("=";$stringa_t)+1) ` parte destra
Else $sinistra_t:=$stringa_t ` solo la parte sinistra, senza la parte destra
End if INSERT ELEMENT($Nomi_ptr->;1)
INSERT ELEMENT($Valori_ptr->;1)
$Nomi_ptr->{1}:=$sinistra_t
$Valori_ptr->{1}:=$destra_t
End if
Inviato da: Umberto Migliore |
|
Visite: 12329 |
Se accedi con utente e password, puoi aggiungere dei commenti.