PHP - fgets, hoe layout veranderen?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb me eigenlijk al suf gezocht op GOT zelf en ook op google, maar begrijp het niet goed, ik kwam wel enkele topics enzo tegen maar niet echt de goeie.
Ik wil ranks van een site rippen, weet wel hoe dat moet maar how the fuck verander je die lelijke layout?
Ik zie dat sommige mensen werken met %rank% ofzo, maar hoe weten ze dat dat "rank" heet? Begrijpen jullie me een beetje.. ik wil gewoon weten hoe je kan weten welke %iets% moet nemen en hoe je daarmee de layout kan wijzigen.

Sorry voor mijn rare uitleg.

Acties:
  • 0 Henk 'm!

  • WildernessChild
  • Registratie: Februari 2002
  • Niet online

WildernessChild

Voor al uw hersenspinsels

Je zult toch wat duidelijker moeten zijn... je wilt als ik het goed begrijp bepaalde delen uit een HTML-bestand halen en op je eigen site plaatsen? Dat zou je met een reguliere expressie kunnen doen...
Enne, vindt de auteur van die site het leuk dat jij zijn ranks ript? :/

Maker van Taekwindow; verplaats en resize je vensters met de Alt-toets!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ja dat bedoel ik dus, en dat laatste maakt niet uit.

Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 15:28
Mwah... eigenlijk maakt dat laatste heel veel uit hier.

Toch even helpen: wat jij moet proberen uit te vinden is in welk formaat de ranks worden getoond, bijv: <tr><td>#1</td><td>Eerste plaats</td></tr>, etc.... Dan moet je zoeken naar dat patroon in je contents die je met fgets krijgt, en de rest mag je zelf verzinnen...

Acties:
  • 0 Henk 'm!

Verwijderd

php manual: preg_match_all

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik wil dit rippen:
http://www.planetinternet...snl.html?hitlist=UTSTUBRU
dus dit is men PHP code:

PHP:
1
2
3
4
5
6
7
8
9
10
<?php

$file = "http://www.planetinternet.be/ultratop/nl/weeklistsnl.html?hitlist=UTSTUBRU";
$f = fopen($file, "r");
while($line=fgets($f,4096))
{
    echo $line;
}

?>

hoe krijg ik daar nu alleen die ranks eruit en die andere shit niet?

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 16:36
Wat is een "rank" dan? En hoe onderscheiden die dingen (wat het ook zijn) zich van de rest van de pagina? Als je je probleem niet formeel kan omschrijven, kun je nooit een oplossing schrijven in een programmeertaal.

Verder zijn hier trouwens al een heleboel topics over geweest, dus je mag best met een wat meer specifieke vraag komen.

Oh ja, ga je trouwens maar alvast verdiepen in reguliere expressies in PHP (zie de FAQ); dat ga je nodig hebben.

[ Voor 17% gewijzigd door Soultaker op 10-04-2003 15:07 ]


Acties:
  • 0 Henk 'm!

  • bramseltje
  • Registratie: September 2001
  • Laatst online: 17-09 14:01
Misschien kun je met een Replace() functie (geen id hoe die in PHP heet, in ASP in het Replace() ) alles voor de table weg kunt halen, en alles na de table ook, en dan een eigen pagina er om heen zetten.
Ik heb ook zoiets gedaan (zie http://62.163.146.217/rooster.asp) maar dan niet de hele pagina vervangen, alleen wat stylesheets eruit gemikt :D

edit:
Geen commentaar op m'n site AUB :+

[ Voor 7% gewijzigd door bramseltje op 10-04-2003 15:13 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
replace zal nogal veel werk zijn denk ik :s
mss met substr of strpos om te kijken waar ik moet beginnen te tellen ofzo?

Acties:
  • 0 Henk 'm!

  • bramseltje
  • Registratie: September 2001
  • Laatst online: 17-09 14:01
Nou, kijk eens aan :D je hebt zelf al een oplossing gegeven...

kijk eerst waar het begint (in de source makkelijk genoeg te zien) Doe een InStr, check waar het eindigt met nog een InStr, en pak dan de substr vanaf die eerste tot de tweede....

Dat was moeilijk :D :+

Wat de InStr function van PHP is weet ik niet, maar het zou best goed strpos kunnen zijn, zoals je al aangaf.

[ Voor 19% gewijzigd door bramseltje op 10-04-2003 15:35 ]


Acties:
  • 0 Henk 'm!

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09 23:18

djc

Reguliere expressies zijn erg geschikt voor dit soort dingen. Je vindt ze onder preg_*() in de manual en een goede tutorial over regexen kun je wel vinden in de FAQs hier.

[ Voor 26% gewijzigd door djc op 10-04-2003 18:17 ]

Rustacean


Acties:
  • 0 Henk 'm!

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
Je doet eens strpos voor de table header aangezien deze redelijk constant is denk ik en je doet strpos met als offset de zojuist gevonden begin positie voor een </table> . Tel daar 8 bij op en je hebt de begin en eind positie van je lap html code.

M.b.v. de begin en eind positie kan je de lengte van je stukje text bepalen en substr doet de rest. Voila.

Acties:
  • 0 Henk 'm!

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
Manuzhai schreef op 10 April 2003 @ 18:17:
Reguliere expressies zijn erg geschikt voor dit soort dingen. Je vindt ze onder preg_*() in de manual en een goede tutorial over regexen kun je wel vinden in de FAQs hier.
Gebruik nooit reguliere expressies wanneer je het met de functies strpos en substr kan afhandelen. reguliere expressies zijn overkill voor een simpel probleem. Daarnaast zijn ze trager.
Pagina: 1