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

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Regulære udtryk - hjælp.
Fra : Kasper Lund


Dato : 12-07-07 15:19

Hej.

Jeg har før fået hjælp herinde, men har nu et nyt problem.

Jeg har en variabel med følgende indhold:
"Memory usage: total:4457,54 Mb - used: 1231,69 Mb (28%) - free: 3225,85
Mb (72%)"

Hvordan får jeg fat i tallet i den første parantes, altså her 28?

Håber i kan hjælpe - også gerne med noget forklaring til jeres løsning.

/Kasper

 
 
Bertel Lund Hansen (12-07-2007)
Kommentar
Fra : Bertel Lund Hansen


Dato : 12-07-07 15:26

Kasper Lund skrev:

> Jeg har en variabel med følgende indhold:
> "Memory usage: total:4457,54 Mb - used: 1231,69 Mb (28%) - free: 3225,85
> Mb (72%)"

> Hvordan får jeg fat i tallet i den første parantes, altså her 28?

$pos=strpos($variable,'(')+1;
$len=strpos($variable,'%')-$pos;
$pct=substr($variable,$pos,$len);

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Simon Juncker (13-07-2007)
Kommentar
Fra : Simon Juncker


Dato : 13-07-07 20:00

"Bertel Lund Hansen" <unospamo@lundhansen.dk> wrote in message
news:hfhyp9zzmpd0$.p1k54hc8xnwx$.dlg@40tude.net...
> Kasper Lund skrev:
>
>> Jeg har en variabel med følgende indhold:
>> "Memory usage: total:4457,54 Mb - used: 1231,69 Mb (28%) - free: 3225,85
>> Mb (72%)"
>
>> Hvordan får jeg fat i tallet i den første parantes, altså her 28?
>
> $pos=strpos($variable,'(')+1;
> $len=strpos($variable,'%')-$pos;
> $pct=substr($variable,$pos,$len);

Er strpos og substr regular expressions?



Jonas Delfs (12-07-2007)
Kommentar
Fra : Jonas Delfs


Dato : 12-07-07 15:59

Kasper Lund skrev:
> Jeg har en variabel med følgende indhold:
> "Memory usage: total:4457,54 Mb - used: 1231,69 Mb (28%) - free: 3225,85
> Mb (72%)"
>
> Hvordan får jeg fat i tallet i den første parantes, altså her 28?

Følgende skulle gerne finde alle tilfælde af parentes-begynd og så et
tal: (utestet!)

preg_match('/\(([0-9]+)/', $string, $matches);
// kig nu på $matches, fx print_r($matches)

Forklaring: [0-9]+ matcher et hvilket som helst helt tal. Der er så
parenteser om for at få resultatet i $matches array'et. Og foran er der
en parentes-begynd som escapes med en backslash fordi det er et specielt
tegn.

Mvh. Jonas

Kasper Lund (13-07-2007)
Kommentar
Fra : Kasper Lund


Dato : 13-07-07 08:23

On Thu, 12 Jul 2007 16:58:40 +0200, Jonas Delfs wrote:

>
> preg_match('/\(([0-9]+)/', $string, $matches);
> // kig nu på $matches, fx print_r($matches)

Virker umiddelbart fint, bortset fra at outputtet i begge parantser er
det samme og den napper parantes start og slut med - se her:

Array ( [0] => (27 [1] => 27 )

Peter Brodersen (13-07-2007)
Kommentar
Fra : Peter Brodersen


Dato : 13-07-07 09:09

On 13 Jul 2007 07:23:28 GMT, Kasper Lund <fake@usenet.dk> wrote:

>> preg_match('/\(([0-9]+)/', $string, $matches);
>> // kig nu på $matches, fx print_r($matches)
>
>Virker umiddelbart fint, bortset fra at outputtet i begge parantser er
>det samme og den napper parantes start og slut med - se her:
>
>Array ( [0] => (27 [1] => 27 )

$matches[0] indeholder alt det matchede. Den er ikke relevant her.
Brug blot $matches[1]

--
- Peter Brodersen
Kendt fra Internet

Kasper Lund (13-07-2007)
Kommentar
Fra : Kasper Lund


Dato : 13-07-07 15:22

On Fri, 13 Jul 2007 10:09:28 +0200, Peter Brodersen wrote:

>
> $matches[0] indeholder alt det matchede. Den er ikke relevant her.
> Brug blot $matches[1]
>

Arh - det virker perfekt. Tak til jer alle.

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

Månedens bedste
Årets bedste
Sidste års bedste