PDA

Bekijk Volledige Versie : Tabel uit webpagina halen met PHP



StriKe
05/10/03, 08:15
Hallo,

Ik zou uit een website een deel van de pagina moeten kunnen weergeven
op een andere site.

Stel dat op site A een pagina aanwezig is met bovenaan tekst, dan een
tabel en dan opnieuw tekst. Dan zou ik op site B alleen de tabel willen
zien.

Hoe kan ik dit verwezenlijken met PHP?

Thx voor de nodige tips.


--
Groeten,
StriKe

http://www.internetfreakz.be/

Marcus
05/10/03, 11:45
StriKe wrote:
> Hallo,
>
> Ik zou uit een website een deel van de pagina moeten kunnen weergeven
> op een andere site.
>
> Stel dat op site A een pagina aanwezig is met bovenaan tekst, dan een
> tabel en dan opnieuw tekst. Dan zou ik op site B alleen de tabel willen
> zien.
>
> Hoe kan ik dit verwezenlijken met PHP?

Je opent de pagina gewoon met de standaard file open functie van php,
die maakt het namelijk niet uit of je hem urls of filenames
meegeeft. Daarna heb je die file in een string, en dan doe je op die
string een regex van <table.*?>.*</table> (case insensitive), ervan
uitgaande dat je maar een tabel op die pagina hebt.

Mark

Rene Pijlman
05/10/03, 12:00
StriKe:
>Ik zou uit een website een deel van de pagina moeten kunnen weergeven
>op een andere site.

Mag dat?

>Stel dat op site A een pagina aanwezig is met bovenaan tekst, dan een
>tabel en dan opnieuw tekst. Dan zou ik op site B alleen de tabel willen
>zien.
>
>Hoe kan ik dit verwezenlijken met PHP?

Pagina B ophalen, parsen en het deel van de parse tree dat je wilt
weergeven omzetten naar de gewenste vorm.

--
René Pijlman

Wat wil jij leren? http://www.leren.nl

Toni Van Remortel
06/10/03, 21:30
On Sun, 05 Oct 2003 06:14:55 +0000, StriKe wrote:

> Hallo,
>
> Ik zou uit een website een deel van de pagina moeten kunnen weergeven
> op een andere site.

Een voorbeeldje:

$filename = "http://een.domein.nl/bestandje.html";
$html = implode('', file($filename));
$tabel = eregi_replace('(^.*<table[^>]*>)|(</table[^>]*>.*$)', '', $html);

De variabele $tabel bevat nu de inhoud van de tabel, maar wel zonder de
<table> en </table> (zo heb je toch nog enige controle over de tabel).

--
Groeten, Toni
Nokelu - NoorderKempense Linux users
http://www.nokelu.be

Robert
08/10/03, 09:00
In article <pan.2003.10.06.19.23.41.851599@chopout.pandora.be>,
tonivr@chopout.pandora.be says...
> On Sun, 05 Oct 2003 06:14:55 +0000, StriKe wrote:
>
> > Hallo,
> >
> > Ik zou uit een website een deel van de pagina moeten kunnen weergeven
> > op een andere site.
>
> Een voorbeeldje:
>
> $filename = "http://een.domein.nl/bestandje.html";
> $html = implode('', file($filename));
> $tabel = eregi_replace('(^.*<table[^>]*>)|(</table[^>]*>.*$)', '', $html);
>
> De variabele $tabel bevat nu de inhoud van de tabel, maar wel zonder de
> <table> en </table> (zo heb je toch nog enige controle over de tabel).
>
> --
> Groeten, Toni
> Nokelu - NoorderKempense Linux users
> http://www.nokelu.be
>
>
Dag Toni,

Zoiets zoek ik ook! Bedankt hiervoor.
Een aanvullende vraag, specifiek voor mijn situatie: Kun je met PHP ook
een tabel rippen uit een (aspx) pagina die checkt of
er ingelogd is (in mijn geval is er alleen een username, geen password),
en controleert of de pagina wel in een bepaalde frameset staat?

Groet,
Robert

Daniel Tryba
08/10/03, 18:00
Robert <xipe@spamcop.net> wrote:
> Een aanvullende vraag, specifiek voor mijn situatie: Kun je met PHP ook
> een tabel rippen uit een (aspx) pagina die checkt of
> er ingelogd is (in mijn geval is er alleen een username, geen password),

Ja, hoe is natuurlijk afhankelijk van de mechanisme.

> en controleert of de pagina wel in een bepaalde frameset staat?

Een serverside script kan dat helemaal niet, die is immers serverside
terwijl frames clientside zijn. Je bent dus waarschijnlijk in de war met
clientside javascript.

--

Daniel Tryba

Toni Van Remortel
08/10/03, 19:30
On Wed, 08 Oct 2003 08:54:53 +0200, Robert wrote:

> Een aanvullende vraag, specifiek voor mijn situatie: Kun je met PHP ook
> een tabel rippen uit een (aspx) pagina die checkt of
> er ingelogd is (in mijn geval is er alleen een username, geen password),

Wel, je kan een regex gaan uitvoeren op zo'n pagina. Hoe meer data die
pagina bevat, hoe moeilijker (of er most een uniek stuk tekst staan bij je
login-naam).
Verder moet die pagina ook altijd hetzelfde worden gerenderd, of gans je
systeem is om zeep.
Het kan dus wel. Best zoek je in de broncode naar een herkenbaar stuk net
voor de username (kan een combinatie van html-tags zijn) die nergens
anders in de pagina voorkomt (indien dat wel is, moet die van jou de 1ste
of de laatste zijn, anders wordt het tellen geblazen).

> en controleert of de pagina wel in een bepaalde frameset staat?

Zoals al gezegd door Daniel: dat is client side stuff.
Je kan evt wel javascript genereren die bepaalde wijzigingen doorvoert,
maar een terugkoppeling is niet mogelijk zonder een 'reload' van die
betreffende pagina (dus de pagina weergeven, javascript zijn werk laten
doen en de nodige gegevens in een reload-url zetten, herladen via
javascript, uiteindelijke pagina weergeven). Beetje omslachtig dus.

--
Groeten, Toni
Nokelu - NoorderKempense Linux users
http://www.nokelu.be

StriKe
12/10/03, 15:00
In <pan.2003.10.06.19.23.41.851599@chopout.pandora.be> schreef "Toni
Van Remortel"

> Een voorbeeldje:
>
> $filename = "http://een.domein.nl/bestandje.html";
> $html = implode('', file($filename));
> $tabel = eregi_replace('(^.*<table[^>]*>)|(</table[^>]*>.*$)', '', $html);
>
> De variabele $tabel bevat nu de inhoud van de tabel, maar wel zonder de
> <table> en </table> (zo heb je toch nog enige controle over de tabel).

Hartelijk dank voor je reactie, en excuses dat ik zo laat iets liet
horen maar kan je me nog even de string uitleggen die je aan $tabel
hebt meegegeven, uit al die tekens versta ik dus nix, als leek in php
;-(

Thx!


--
Groeten,
StriKe

http://www.internetfreakz.be/

Toni Van Remortel
13/10/03, 18:45
On Sun, 12 Oct 2003 12:55:11 +0000, StriKe wrote:

>> $filename = "http://een.domein.nl/bestandje.html";
>> $html = implode('', file($filename));
>> $tabel = eregi_replace('(^.*<table[^>]*>)|(</table[^>]*>.*$)', '',
$html);

> Hartelijk dank voor je reactie, en excuses dat ik zo laat iets liet
> horen maar kan je me nog even de string uitleggen die je aan $tabel
> hebt meegegeven, uit al die tekens versta ik dus nix, als leek in php
> ;-(

Sja, een regex is niet direct een vereist onderdeel van PHP, maar wel
handig.
Ik heb deze van een site geplukt (http://www.phpinfo.net/) en aangepast.
Was oorspronkelijk een filter op alles tussen <html> en/of <body> en
</body> en/of </body>.

--
Groeten, Toni
Nokelu - NoorderKempense Linux users
http://www.nokelu.be

StriKe
14/10/03, 18:45
In <pan.2003.10.13.16.42.27.865540@chopout.pandora.be> schreef "Toni
Van Remortel"

> Sja, een regex is niet direct een vereist onderdeel van PHP, maar wel
> handig.
> Ik heb deze van een site geplukt (http://www.phpinfo.net/) en aangepast.
> Was oorspronkelijk een filter op alles tussen <html> en/of <body> en
> </body> en/of </body>.

Ik weet waar ik me de volgende dagen kan mee bezig houden: het 'leren'
maken van regex'en ...
thx! ;)


--
Groeten,
StriKe

http://www.internetfreakz.be/

Marcus
15/10/03, 09:30
StriKe wrote:
> In <pan.2003.10.13.16.42.27.865540@chopout.pandora.be> schreef "Toni
> Van Remortel"
>
>> Sja, een regex is niet direct een vereist onderdeel van PHP, maar wel
>> handig.
>> Ik heb deze van een site geplukt (http://www.phpinfo.net/) en aangepast.
>> Was oorspronkelijk een filter op alles tussen <html> en/of <body> en
>> </body> en/of </body>.
>
> Ik weet waar ik me de volgende dagen kan mee bezig houden: het 'leren'
> maken van regex'en ...

op hackers4hackers.org staat wel een goede tutorial.

Mark

StriKe
15/10/03, 17:15
In <slrnboptig.i3.mark@agnes.ijbema.xs4all.nl> schreef "Marcus"
> StriKe wrote:
>> In <pan.2003.10.13.16.42.27.865540@chopout.pandora.be> schreef "Toni
>> Van Remortel"
>>
>>> Sja, een regex is niet direct een vereist onderdeel van PHP, maar wel
>>> handig.
>>> Ik heb deze van een site geplukt (http://www.phpinfo.net/) en aangepast.
>>> Was oorspronkelijk een filter op alles tussen <html> en/of <body> en
>>> </body> en/of </body>.
>>
>> Ik weet waar ik me de volgende dagen kan mee bezig houden: het 'leren'
>> maken van regex'en ...
>
> op hackers4hackers.org staat wel een goede tutorial.
>
> Mark

Bedoel je deze?
http://www.hackers4hackers.org/reader.php?h4h=11&page=08


--
Groeten,
StriKe

http://www.internetfreakz.be/

Marcus
15/10/03, 23:30
StriKe wrote:
> In <slrnboptig.i3.mark@agnes.ijbema.xs4all.nl> schreef "Marcus"
>> StriKe wrote:
>>> In <pan.2003.10.13.16.42.27.865540@chopout.pandora.be> schreef "Toni
>>> Van Remortel"
>>>
>>>> Sja, een regex is niet direct een vereist onderdeel van PHP, maar wel
>>>> handig.
>>>> Ik heb deze van een site geplukt (http://www.phpinfo.net/) en aangepast.
>>>> Was oorspronkelijk een filter op alles tussen <html> en/of <body> en
>>>> </body> en/of </body>.
>>>
>>> Ik weet waar ik me de volgende dagen kan mee bezig houden: het 'leren'
>>> maken van regex'en ...
>>
>> op hackers4hackers.org staat wel een goede tutorial.
>>
>> Mark
>
> Bedoel je deze?
> http://www.hackers4hackers.org/reader.php?h4h=11&page=08

yup

Mark