PDA

View Full Version : ASP ==> replace


Brady
01-03-2006, 14:07
Ciao, non ho mai fatto nulla in asp, provando a trafficare un po' sono inciampato su questa riga:

abs_path.replace(/\\\w*\.asp/, "\\")

Dove abs_path è una stringa. Fino a capire che replace sostituisce qualcosa ci arrivo, ma quello che non capisco è cosa sia quella sequenza interna di caratteri /\\\w*\.asp/ . Dopodiché, in teoria, la funzione sostituisce quella roba con \\, vero?

Qualcuno sa spiegarmi dettagliatamente il significato di quella sequenza di caratteri?

Brady
03-03-2006, 01:45
Proprio nessuno sa niente di ASP????? :(

Crashbandy80
03-03-2006, 08:18
Mmmh non so aiutarti molto.. ma ti consiglio di cercare in google "regular expressions".

Comunque dal poco che ricordo posso solo dirti che \w indica qualsiasi carattere (underscore _ compreso) o numero.
L'asterisco * dopo \w indica zero o piu' occorrenze della proprieta' appena specificata, quindi zero o piu' caratteri o numeri.

Il carattere "/" all'inizio e alla fine dell'espressione penso indicano il carattere vero e proprio..

Quindi in pratica se hai "http://www.abc.com/test/prova.asp" ah ecco ho capito.
Dall'URL ti sostituisce il dominio con "\\" in modo da accedere alla cartella web e non alla pagina.

In pratica hai "http://www.abc.com/test/prova.asp" e dopo il replace ti ritrovi "\\test".
Servirebbe per esempio per aggiornare il contenuto di una cartella web. Possibile?

Brady
03-03-2006, 10:14
Oh, grazie mille per la risposta!

Mi hai già illuminato un po', immaginavo che \w significasse qualcosa e che * indicasse la ripetizione.
Fatte un po' di prove avevo già potuto verificare che se abs_path (essendo percorso assoluto) è "d:\inetpub\.......\test\prova.asp" allora la funzione mi estrae "d:\inetpub\.......\test\".
I caratteri / all'inizio e alla fine credo di aver capito che funzionano tipo i doppi apici ".
Tuttavia non è tutto chiaro ancora, tipo quel ".asp" o quel "\\\" (perché tre \ invece di una???). Ah, forse tre perché le prime due indicano la cartella corrente....mah.... E poi perché sostituire con "\\", perché poppia \ ???

Ora provo a fare la ricerca in internet...

Grazie intanto! Ciao!

Crashbandy80
03-03-2006, 10:33
Mmh beh quel .asp serve a togliere anche il nome della pagina dal percorso assoluto che vuole ricavare.
In pratica si vuole individuare solo la cartella web in cui risiede la pagina.

Invece il "\\" con cui sostituisce l'URL.. indica un percorso di rete.

Io se voglio accedere alla cartella di rete condivisa "test" del mio sito web :
"http://www.pinco-pallino/test/abc.asp"

devo scrivere "\\<nomeServer>\test" (<nomeServer> e' opzionale se lo script gira gia' sul server)