Avatar billede mo-bo Nybegynder
16. februar 2006 - 11:43 Der er 10 kommentarer og
1 løsning

Find tal i streng

Hej,

Jeg bruger PHP.

Jeg vil gerne hive et id ud af denne streng:

#@100@#

Eller denne : Dette er en streng #@100@#

Hvordan ?

/Mobo
Avatar billede barklund Nybegynder
16. februar 2006 - 12:12 #1
Udtrykket til at fange med er:

/#@(\d+)@#/

Og så er det jo bare at implementere:

$str = "Dette er en streng #@100@#";
$matches = array();
preg_match("/#@(\d+)@#/", $str, $matches);
$id = (int)$matches[1];
var_dump($id);

:)

--
Morten Barklund
Avatar billede mo-bo Nybegynder
16. februar 2006 - 12:50 #2
Tak for det  - er det muligt at få flere id'er hvis strengen ser sådanne ud :

Dette er en streng #@100@# lidt mere #@200@# ?
Avatar billede barklund Nybegynder
16. februar 2006 - 14:24 #3
Altid, så skal du bare bruge preg_match_all, og så vil $id automatisk blive til et array af de fundne id'er :)
Avatar billede Slettet bruger
16. februar 2006 - 19:58 #4
barklund: Hvad med preg replace, hvis der kun er ét led i hver streng:


$str = "Dette er en streng #@100@#";
$foo = preg_replace("/#@(\d)@#/", "$1", $str);
var_dump($foo);

Det er vel lidt nemmere.
Avatar billede barklund Nybegynder
16. februar 2006 - 20:37 #5
Kan ikke lige se, hvorfor der er nemmere - og nu skulle den jo også kunne fange alle forekomster. Og dit script vil kun virke, hvis der kun er et tal i - du skal også fange al den omliggende tekst for at få det erstattet. Det er sådan en lidt baglæns metodik til at løse problemet :) :)
Avatar billede Slettet bruger
16. februar 2006 - 20:39 #6
jaja der skulle naturligvis være et + ved \d'et :)

Hmm men hvis den skal fange alle forekomster, kan jeg ligeså godt kravle op i tårnet igen. ;)
Avatar billede mo-bo Nybegynder
17. februar 2006 - 13:19 #7
cool tak, svar please
Avatar billede barklund Nybegynder
17. februar 2006 - 13:32 #8
Mjæææs :)
Avatar billede mo-bo Nybegynder
17. februar 2006 - 13:37 #9
Har du et reg som validere en url ?
Avatar billede barklund Nybegynder
17. februar 2006 - 13:42 #10
Det kan man lave på ret mange måder - en url kan jo indeholde vilkårlige tegn, som blor bør escapes korrekt.
Avatar billede barklund Nybegynder
17. februar 2006 - 13:42 #11
Men tark for points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester