Hoe gegevens uit een tabel van een andere site 'plukken'

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peter de M

Peter de M

17/12/2007 20:08:00
Quote Anchor link
Ik wil graag gegevens van een andere site halen en gebruiken op mijn eigen site.
Deze (engelse) gegevens staan in een tabel en die wil ik uit een tabel halen en gebruiken in een nederlandse 'omlijsting' .
 
PHP hulp

PHP hulp

16/11/2024 19:42:49
 
Joren de Wit

Joren de Wit

17/12/2007 22:35:00
Quote Anchor link
En wat heb je zelf al geprobeerd? Waar loop je vast?
 
Ronald Vesterink

Ronald Vesterink

18/12/2007 13:07:00
Quote Anchor link
Als die teksten uit een database moeten komen, zit je vaak met het probleem dat je die niet direct kan benaderen. Is meestal 'localhost' namelijk.
 
Peter de M

Peter de M

20/12/2007 18:42:00
Quote Anchor link
De teksten komen niet uit een database maar staan gewoon in de source van de pagina bv <td> 16 </td>. Verder staan ze ook altijd op dezelfde plaatsen. Ik ben van huis uit geen php-programmeur maar in algemene termen dacht ik aan het volgende:
- source opslaan
- tekst binnenhalen en tekst op plaats x en y in een array zetten en die kan ik dan zelf gebruiken
 
Joren de Wit

Joren de Wit

20/12/2007 18:44:00
Quote Anchor link
Je bent waarschijnlijk op zoek naar een combinatie van file_get_contents() en preg_match_all().

Maar zonder een voorbeeld van de source, kan ik er weinig van maken...
 
Peter de M

Peter de M

20/12/2007 18:49:00
Quote Anchor link
Hier de source:
<tr>

<td width="60" valign="top">20/12/07</td>
<td width="120" valign="top">18:45 uur</td>
</tr>
<tr>
<td width="60" valign="top">Temp:</td>
<td width="120" valign="top">-4.1 &deg;C</td>
</tr>
<tr>
<td valign="top">Wind:</td>
<td width="120" valign="top">E 0.0 km/u</td>

</tr>
<tr>
<td valign="top">Luchtdruk:</td>
<td width="120" valign="top">1033.7 hPa</td>
</tr>
 
Joren de Wit

Joren de Wit

20/12/2007 18:54:00
Quote Anchor link
Dit scriptje zet alles tussen <td></td> in de array $aData:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$sSource
= '<tr>
<td width="60" valign="top">20/12/07</td>
<td width="120" valign="top">18:45 uur</td>
</tr>
<tr>
<td width="60" valign="top">Temp:</td>
<td width="120" valign="top">-4.1 &deg;C</td>
</tr>
<tr>
<td valign="top">Wind:</td>
<td width="120" valign="top">E 0.0 km/u</td>

</tr>
<tr>
<td valign="top">Luchtdruk:</td>
<td width="120" valign="top">1033.7 hPa</td>
</tr>'
;

preg_match_all('#<td.*?>(.*?)</td>#is', $sSource, $aData);
echo '<pre>'.print_r($aData , true).'</pre>';
?>

Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Peter de M

Peter de M

20/12/2007 18:58:00
Quote Anchor link
Super, nu moet ik alleen nog kijken hoe ik dit alles het beste binnen kan halen
 
Joren de Wit

Joren de Wit

20/12/2007 19:00:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sSource
= file_get_contents('http://www.desite.nl/pagina.php');
?>

Als de fopen wrappers aan staan zal dit gewoon werken...
 
Peter de M

Peter de M

20/12/2007 19:04:00
Quote Anchor link
Wow, alles heb ik nu binnen en kan ik gebruiken .... heel erg bedankt !!!
 
Joren de Wit

Joren de Wit

20/12/2007 19:05:00
Quote Anchor link
Graag gedaan :)
 
Peter de M

Peter de M

20/12/2007 19:49:00
Quote Anchor link
Mmm toch nog een vraagje ik wil graag de volgende engelse afkorting vervangen door 'ONO' en dit geld natuurlijk voor alle OOST en ZUID combi
ENE -> ONO
NE -> NO
E - O
SW-ZW
SSW - ZZW etc
Hoe kan ik dat doen?
 
Joren de Wit

Joren de Wit

20/12/2007 19:55:00
Quote Anchor link
Het makkelijkste doe je dat door een array met engelse afkortingen en een array met nederlandse afkortingen te maken. Vervolgens kun je met str_replace de afkortingen vervangen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$aEN
= array('N', 'NE', 'ENE', 'E');
$aNL = array('N', 'NO', 'ONO', 'O');

$sString = 'Windrichting ENE, morgen E';

$sString = str_replace($aEN, $aNL, $sString);
echo $sString;
?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.