[PHP] waarden uit file laten zien van bepaalde user

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een programma wat het dataverkeer bijhoudt van alle users op een bepaalde server.
Dat programma laat echter alle users zien, wat niet de bedoeling is.
Nu laat ik met wget die pagina iedere 5 min ophalen.

Hierna laat ik de file inlezen.
maar nu komt het:
Een user moet inloggen, zeg karel.

Nu moeten alleen de gevens van Karel op het scherm komen.
Het html filetje ziet er zo uit:

<tr>
<td class="T1B" width="100">
<a class="T1B" href="editfilter?Karel">
Karel</a>
</td>
<td class="T2" width="250">
Poort 8030</td>
<td class="T1R" width="100">
<a class="T1R" href="history?name=Karel">
0.00 GB</a>
</td>
<td class="T2R" width="100">
<a class="T2R" href="history?name=Karel">
0.08 GB</a>
</td>
<td class="T1R" width="100">
<a class="T1R" href="history?name=Karel">
0.59 GB</a>
</td>
<td class="T2R" width="100">
<a class="T2R" href="history?name=Karel">
5.11 GB</a>
</td>
<td class="T1R" width="100">
<a class="T1R" href="history?name=Karel">
5.11 GB</a>
</td>
</tr>

met:
$filename = "overview.html";
$fd= fopen ($filename , "r" );
lees ik de file in.

Nu laat ik checken op karel:
if (similar_text( $fstring, $targetline))

en dan moet de tabel van Karel op het scherm komen, alleen hoe krijg ik dat voor elkaar?

Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
file in een string zetten. En hier een substring van maken na de username> en voor </a>.

Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

Regulier expresseren, op <tr> en </tr>, en daartussen moet dan Karel staan.

zoiets (pseudo code): (*.)<tr>(Karel)</tr>(*.)

Regular expressions dus.

[ Voor 26% gewijzigd door Cavorka op 27-02-2004 14:19 ]

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De file heb ik in een string gezet:

$fstring=fgets($fd, 4096);

Maar hoe werkt dat laatste dan?

Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
Verwijderd schreef op 27 februari 2004 @ 14:16:
De file heb ik in een string gezet:

$fstring=fgets($fd, 4096);

Maar hoe werkt dat laatste dan?
Dit soort dingen weet ik nooit uit m'n hoofd. Dat zoek ik altijd op.
http://nl2.php.net/manual/nl/function.substr.php

Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
Noork schreef op 27 februari 2004 @ 14:18:
[...]

Dit soort dingen weet ik nooit uit m'n hoofd. Dat zoek ik altijd op.
http://nl2.php.net/manual/nl/function.substr.php
ah, ik zit nu zelf te lezen. en denk dat de functie explode handiger is.

code:
1
2
$pizza = "stuk1 stuk2 stuk3 stuk4 stuk5 stuk6";
$stukken = explode (" ", $pizza);

http://nl2.php.net/manual/nl/function.explode.php

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Die Explode lijkt me wel handig idd.
ff wat probeen ermee!
Alvast bedankt!

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Alleen bedenk ik mijn net:
Behalve karel staat ook henkie in het filetje, ook in tabelvorm.

Hoe zorg ik er nou voor dat hij precies DAT stukje pakt?

Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

Kan je proberen, maar waar ga je precies op exploden dan?

*Edit: ja precies, dat zeg ik. :)

[ Voor 25% gewijzigd door Cavorka op 27-02-2004 14:32 ]

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
Cavorka schreef op 27 februari 2004 @ 14:31:
Kan je proberen, maar waar ga je precies op exploden dan?

*Edit: ja precies, dat zeg ik. :)
Bijvoorbeeld op href="history?name=
hierna, controleer je voor elke string of de username in de string zit.
zo ja, pak je de eerste paar tekens van de string met substring.

Ik zou zeggen, gebruik je fantasie.

Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

Noork schreef op 27 februari 2004 @ 14:34:
[...]
Bijvoorbeeld op href="history?name=
hierna, controleer je voor elke string of de username in de string zit.
zo ja, pak je de eerste paar tekens van de string met substring.

Ik zou zeggen, gebruik je fantasie.
Mja, zou kunnen. Lijkt me alleen heel ingewikkeld worden, terwijl het ook met een enkele reg-exp kan. Helemaal aangezien je maar een row wilt selecteren, is explode een rare methode.

Zie: hier voor een kleine uitleg over reg-exps.

[ Voor 21% gewijzigd door Cavorka op 27-02-2004 14:43 ]

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
Cavorka schreef op 27 februari 2004 @ 14:41:
[...]

Mja, zou kunnen. Lijkt me alleen heel ingewikkeld worden, terwijl het ook met een enkele reg-exp kan. Helemaal aangezien je maar een row wilt selecteren, is explode een rare methode.

Zie: hier voor een kleine uitleg over reg-exps.
Precies, dat is eigenlijk wel even handiger. Ik ben ook geen php expert, maar doe m'n best. Maar je link verwijst niet echt naar het goede geloof ik. Aan ereg_replace heeft hij niks.
http://nl2.php.net/manual/nl/function.ereg.php

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dus ik zou zoiets moeten doen:

function checkstr($targetline)
{
return (ereg('^<tr>\.<\tr>$', $targetline));
}

Die dan checkt op iets en dan dat vervolgens eruit gooit.....

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
function checkstr($targetline)
{
return (ereg('^<td>[a-z]<\td>$', $targetline));
}

if (checkstr($testje)){
echo($print);
}

Ik heb nu dit, omdat ik alles wil pakken van <td> t/m </td>
Er moet gechecked worden op de username en dat is dus de targetline.

Hij geeft dan:
Parse error: parse error, unexpected '!' in /var/www/html/leesfile.php on line 22

Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

Noork schreef op 27 februari 2004 @ 14:47:
[...]


Precies, dat is eigenlijk wel even handiger. Ik ben ook geen php expert, maar doe m'n best. Maar je link verwijst niet echt naar het goede geloof ik. Aan ereg_replace heeft hij niks.
http://nl2.php.net/manual/nl/function.ereg.php
Aan ereg_replace heeft hij alles :) Maar dat maakt niet uit...

Kijk, bijvoorbeeld:
PHP:
1
2
3
4
$original = "/.*\[IF=ARGH\](.*)\\[\/IF=ARGH\].*/s" ;
$target = "\\1" ;

$text = preg_replace($original, $target, $text) ;

Wat dit doet bijvoorbeeld, is dus alles wat tussen [IF=ARGH] en [/IF=ARGH] staat uit de string $text halen. Beetje editten, dus alles wat tussen <tr> en </tr> staat pakken en dan nog zorgen dat je ook checked of de juiste username erin staat en je bent klaar.

[ Voor 18% gewijzigd door Cavorka op 27-02-2004 21:46 ]

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.

Pagina: 1