Avatar billede hyperguy Nybegynder
03. juni 2004 - 10:00 Der er 5 kommentarer og
1 løsning

preg_match, behøver hjælp til Regular Expression.

Jeg har den her variablen

$output = "Local Slots 255, Spectators 0 (max 0), Proxies 0";

Det jeg mangler er at tag tallet "255" ud, og tallet "0" lige efter Spectators.

Det tal kan selv svinge og er ikke altid det samme. Men kan det laves med preg_match?
Avatar billede dennismp Nybegynder
03. juni 2004 - 10:03 #1
preg_match("/Local Slots (\d+), Spectators (\d+) \(max (\d+)\), Proxies (\d+)/", $output, $matches);

så burde du kunne finde de forskellige tal i
$matches[1] = 255
... [2] = 0 (Spectators)
... [3] = 0 (max)
... [4] = 0 (Proxies)

Dog utestet.
Avatar billede hyperguy Nybegynder
03. juni 2004 - 10:05 #2
Kan jeg få dig til at forklare den linie, så har jeg nemmere ved at lave det selv næste gang
Avatar billede hyperguy Nybegynder
03. juni 2004 - 10:08 #3
Og den virker perfekt
Avatar billede dennismp Nybegynder
03. juni 2004 - 10:11 #4
joda

Alle regex's starter og slutter med et tegn. Så jeg har brugt /

Local Slots er bare tekst - det havde du regnet ud :-)
\d betyder digit
\d+ betyder 1 eller flere tal
(\d+) betyder at værdien i () bliver lagt i matches. $matches[0] er hele linjen. $matches[1] er den første () .. $matches[2] den næste osv.. Selve () bliver ikke  brugt til sammenligningen med teksten - det er kun for at fortælle "hvor meget" af teksten der skal i $matches.
da () har en betydning, skal man escape dem, hvis der skal sammenlignes på dem, det gøres med backslash: \(\) .. vil matche teksten "()"

Hjalp det lidt?
Avatar billede hyperguy Nybegynder
03. juni 2004 - 10:14 #5
ok det hjalp meget. Mange tak. Smid lige et svar så accpter jeg det.
Avatar billede dennismp Nybegynder
03. juni 2004 - 10:15 #6
Det var så lidt :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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