/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
URL enkode en tekststreng?
Fra : Theis


Dato : 13-03-01 21:22

Hej!
Jeg står lige og mangler en bid kode til at URL enkode en tekststreng
som jeg skal bruge til at kalde et perl-script via get-metoden.
Jeg har kigget lidt rundt omkring - men kan kun finde noget til at
dekode en URL-kodet streng

Hilsen Theis
[NO SPAM)cadex@mail1.stofanet.dk

 
 
Lars Kim Lund (13-03-2001)
Kommentar
Fra : Lars Kim Lund


Dato : 13-03-01 21:37

Hej Theis <cadex@mail1.stofa.dk>

>Jeg står lige og mangler en bid kode til at URL enkode en tekststreng
>som jeg skal bruge til at kalde et perl-script via get-metoden.

fx. $url =~ s/([^\w\d.])/'%'.sprintf "%0.1X", ord($1)/eg;

--
Lars Kim Lund
http://www.net-faq.dk/

Theis (13-03-2001)
Kommentar
Fra : Theis


Dato : 13-03-01 21:46

On Tue, 13 Mar 2001 21:36:36 +0100, Lars Kim Lund <larskim@mail.com>
wrote:

>Hej Theis <cadex@mail1.stofa.dk>
>
>>Jeg står lige og mangler en bid kode til at URL enkode en tekststreng
>>som jeg skal bruge til at kalde et perl-script via get-metoden.
>
>fx. $url =~ s/([^\w\d.])/'%'.sprintf "%0.1X", ord($1)/eg;

Hvor $1 er den streng jeg ska have enkodet - ik?

Adam Sjøgren (13-03-2001)
Kommentar
Fra : Adam Sjøgren


Dato : 13-03-01 21:51

On Tue, 13 Mar 2001 21:45:42 +0100, Theis wrote:

> On Tue, 13 Mar 2001 21:36:36 +0100, Lars Kim Lund <larskim@mail.com>
> wrote:

>> fx. $url =~ s/([^\w\d.])/'%'.sprintf "%0.1X", ord($1)/eg;

> Hvor $1 er den streng jeg ska have enkodet - ik?

Nej, det er $url ($1 er den streng (det tegn) som parantesen med
[^\w\d.] match'er).


Mvh.

--
"Oh it's a, sort of a horror cowboy movie. Adam Sjøgren
Takes place on the New York Thruway." asjo@koldfront.dk

Theis (13-03-2001)
Kommentar
Fra : Theis


Dato : 13-03-01 21:56

On 13 Mar 2001 21:51:27 +0100, asjo@koldfront.dk (Adam Sjøgren) wrote:

>>> fx. $url =~ s/([^\w\d.])/'%'.sprintf "%0.1X", ord($1)/eg;
>

>Nej, det er $url ($1 er den streng (det tegn) som parantesen med
>[^\w\d.] match'er).
>
>
> Mvh.

$url er vel det scalar resultatet skal gemmes i?
Jeg har altid sprunget over de alm. udtryk i Perl og løst det på anden
vis - det hævner sig så nu! - så bær over med mig!
Så lige engang til - hvor sætter jeg min $streng ind henne?

Adam Sjøgren (13-03-2001)
Kommentar
Fra : Adam Sjøgren


Dato : 13-03-01 22:14

On Tue, 13 Mar 2001 21:55:31 +0100, Theis wrote:

>>>> fx. $url =~ s/([^\w\d.])/'%'.sprintf "%0.1X", ord($1)/eg;
>>

>> Nej, det er $url ($1 er den streng (det tegn) som parantesen med
>> [^\w\d.] match'er).

> $url er vel det scalar resultatet skal gemmes i?

perldoc perlop - kig under Binding Operators.

Eller kig i enhver begyndertekst under regulære udtryk og
substitution (s///).

> Så lige engang til - hvor sætter jeg min $streng ind henne?

Din streng er $url. Prøv det, prøv det.

F.ex.

virgil$ perl -e '$url="Frølår"; print "$url\n"; $url =~ s/([^\w\d.])/"%".sprintf "%0.1X", ord($1)/eg; print "$url\n";'
Frølår
Fr%F8l%E5r
virgil$


Mvh.

--
"Oh it's a, sort of a horror cowboy movie. Adam Sjøgren
Takes place on the New York Thruway." asjo@koldfront.dk

Theis (13-03-2001)
Kommentar
Fra : Theis


Dato : 13-03-01 22:22

On 13 Mar 2001 22:13:52 +0100, asjo@koldfront.dk (Adam Sjøgren) wrote:

Mange tak for hjælpen!
Det ser bare lidt mystisk ud når man ikke plejer at arbejde med alm.
udtryk!

Adam Sjøgren (13-03-2001)
Kommentar
Fra : Adam Sjøgren


Dato : 13-03-01 22:50

On Tue, 13 Mar 2001 22:22:13 +0100, Theis wrote:

> Mange tak for hjælpen! Det ser bare lidt mystisk ud når man ikke
> plejer at arbejde med alm. udtryk!

Lige indtil man vænner sig til =~ virker det lidt mærkeligt, yep.

(Plejer man at oversætte regular expressions til 'alm. udtryk'?)


Mvh.

--
"Oh it's a, sort of a horror cowboy movie. Adam Sjøgren
Takes place on the New York Thruway." asjo@koldfront.dk

Peter Makholm (14-03-2001)
Kommentar
Fra : Peter Makholm


Dato : 14-03-01 08:24

asjo@koldfront.dk (Adam Sjøgren) writes:

> (Plejer man at oversætte regular expressions til 'alm. udtryk'?)

Nej, det hedder "regulære udtryk".

--
Free beer får det bedste frem i en pingvin.
http://peter.makholm.net/beer/

Lars Balker Rasmusse~ (13-03-2001)
Kommentar
Fra : Lars Balker Rasmusse~


Dato : 13-03-01 23:37

Lars Kim Lund <larskim@mail.com> writes:
> fx. $url =~ s/([^\w\d.])/'%'.sprintf "%0.1X", ord($1)/eg;

'%'.sprintf "foo"
skrives bedre som
sprintf "%%foo"
--
Lars Balker Rasmussen "Woo hoo!?"

Lars Kim Lund (13-03-2001)
Kommentar
Fra : Lars Kim Lund


Dato : 13-03-01 23:36

Hej Lars Balker Rasmussen <lars@balker.org>

>> fx. $url =~ s/([^\w\d.])/'%'.sprintf "%0.1X", ord($1)/eg;
>
> '%'.sprintf "foo"
>skrives bedre som
> sprintf "%%foo"

Ja, jeg tænkte over det, da jeg klippeklistrede det fra et gammelt
script.

--
Lars Kim Lund
http://www.net-faq.dk/

Christian Laursen (14-03-2001)
Kommentar
Fra : Christian Laursen


Dato : 14-03-01 00:16

Theis <cadex@mail1.stofa.dk> writes:

> Jeg står lige og mangler en bid kode til at URL enkode en tekststreng
> som jeg skal bruge til at kalde et perl-script via get-metoden.
> Jeg har kigget lidt rundt omkring - men kan kun finde noget til at
> dekode en URL-kodet streng

perldoc URI::Escape

--
Med venlig hilsen
Christian Laursen

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408917
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste