Toon posts:

[php] replace lukt niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
$apache = eregi_replace("(.*CPU load<br>\n| requests/sec.*)", " ", $apache);

Nu zou dit dus alleen het nummer van de request moeten geven maar nu geeft hij gewoon alles terug als ik $apache PRINT.

tekst:
code:
1
2
3
4
5
6
7
8
9
10
11
Server Version: Apache/1.3.24 (Unix) PHP/4.1.2<br>
Server Built: May  5 2002 12:15:56<br>
Server uptime:  14 hours 56 minutes 15 seconds<br>
Total accesses: 1253481 - Total Traffic: 777.4 MB<br>
CPU Usage: u942.76 s105 cu0 cs0 - 1.95% CPU load<br>
23.3 requests/sec - 14.8 kB/second - 650 B/request<br>

257 requests currently being processed, 25 idle servers
<PRE>KWKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK_KKKKKKKKKKKKKK_K_KKKKK__
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK_KKKK_KKKK_KKKKKKKKKKKKKKK_KK
blabla...

  • tomato
  • Registratie: November 1999
  • Niet online
Ik begrijp absoluut niet wat je hier wilt doen. Welke tekst wil je eruit vissen, wat is het nummer van de request :?

Verwijderd

Topicstarter
ik wil dus alle tekst weg hebben en dit nummer overhouden:

23.3 (het aantal request/sec)

  • tomato
  • Registratie: November 1999
  • Niet online
Aha, dan zou ik zoiets gebruiken:
code:
1
2
preg_match('_([0-9.]+)\s+requests/sec_', $apache, $m);
$requests = $m[1];

Wanneer je bestand erg groot is (er staat nogal wat blabla... in je quote...) zou ik overwegen om er niet direct een regex overheen te halen, maar te kijken of je direct die ene regel eruit kunt pakken en daar in gaat zoeken (is het bijvoorbeeld altijd de 6de regel?).