Deel uit het broncode uitlezen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Roy -

Roy -

02/02/2010 22:28:00
Quote Anchor link
Beste leden,

wat ik graag wil is alles wat na deze regel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<td><a href="/compare?artnr=37714" title="Productvergelijking">Product toevoegen aan vergelijking</a></td>

in het broncode tot en met deze regel
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
</table>

exact overnemen en weergeven.

Zit wat te rommelen, ik hoop dat iemand mij wat op weg wil helpen.

Voorbeeld van broncode:
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
23
<td><a href="/compare?artnr=37714" title="Productvergelijking">Product toevoegen aan vergelijking</a></td>
</tr>
<tr>
<td colspan=2>&nbsp;</td>
</tr>
<tr class="normal">
<td valign=top>Model</td>
<td valign=top>Satellite </td>
</tr>
<tr class="normal">
<td valign=top>Aansluitingen</td>
<td valign=top>1 x DC-in<br />
1 x extern beeldscherm<br />
1 x RJ-45<br />
1 x externe microfoon<br />
1 x koptelefoon (stereo)<br />
1 x Gentegreerde VGA Webcam met ingebouwde microfoon<br />
1 x 4-in-1 Bridge Media slot (ondersteunt SD Cards tot 16 GB, Memory Stick tot 256 MB, Memory Stick Pro tot 2 GB en MultiMedia Card tot 2 GB)<br />
1 (Links) x eSATA/USB 2.0<br />
2 (Rechts 2) x USB 2.0<br />
1 x HDMI supporting 1080p signal format  </td>
</tr>
</table>


Wat ik momenteel heb, werkend voor de eerste 4 regels:
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
<?php
$regels
= file("http://www.website.nl/");
echo '<table>';
$i = 0;
foreach($regels as $regel){
    $pos = strpos($regel, '<td><a href="/compare?artnr=37714" title="Productvergelijking">Product toevoegen aan vergelijking</a></td>');
    if($pos){
        eregi("</tr>", $regel, $tekst);
        $tekst = str_replace(' class="normal"', "", $regels[$i+5]);
        $tekst .= $regels[$i+6];
        $tekst .= $regels[$i+7];
        $tekst .= $regels[$i+8];        
        echo $tekst;
    }

    $i++;
}

echo '</table>';
?>


Alvast bedankt!

Roy
Gewijzigd op 01/01/1970 01:00:00 door Roy -
 
PHP hulp

PHP hulp

26/04/2024 01:10:10
 
---- ----

---- ----

02/02/2010 22:41:00
Quote Anchor link
kopieren plakken in een nieuw document opslaan als bestand.html
uploaden naar je website en dan ga je naar www.mijnsite.nl/bestand.html


tadaá

Of was dat je vraag niet?
 
Roy -

Roy -

02/02/2010 22:43:00
Quote Anchor link
Het gaat hier om meerdere artikelen die geautomatiseerd weergeven moeten worden vanaf een andere website.
 

02/02/2010 22:57:00
Quote Anchor link
Let op dat dus niet altijd zomaar mag....
Verder kan je beter DOM gebruiken. Is veel makkelijker / handiger.
 
Roy -

Roy -

02/02/2010 23:00:00
Quote Anchor link
Toestemming is aanwezig. Heb je misschien een voorbeeldje hiervoor of een aanvullen op wat ik momenteel heb?
 
Roy -

Roy -

04/02/2010 19:34:00
Quote Anchor link
Na heel wat stoei werk heb ik het voor elkaar.
Nog één dingetje. Stel ik heb dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$a
= 1;
foreach($regels as $regel){
    if($iets){
        exit;
    }
else {
        echo "test";
    }

    $a++;
}

echo "TEST";
?>


Wanneer $iets ook echt iets is, maak ik gebruik van exit om te stoppen. Hoe regel ik het dat hij wel verder gaat zonder nogmaals de volgende regel te bekijken, en TEST ook nog laat zien?
 
Joris van Rijn

Joris van Rijn

04/02/2010 20:25:00
Quote Anchor link
met break; volgens mij.
 
Roy -

Roy -

04/02/2010 20:36:00
Quote Anchor link
Top! Ik ben geholpen, bedankt!
 
Wim E

Wim E

04/02/2010 21:38:00
Quote Anchor link
Is er geen mooie mogelijkheid dat je het aangeleverd kan krijgen via xml ofzo?
 
P Lekensteyn

P Lekensteyn

04/02/2010 21:47:00
Quote Anchor link
Waarom een for als dit ook kan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$data
= file_get_contents('http://www.website.nl');
$begin = strpos($alles, '<td><a href="/compare?artnr=37714" title="Productvergelijking">Product toevoegen aan vergelijking</a></td>');
$einde = strpos($alles, '</table', $begin);
if($begin !== FALSE && $einde !== FALSE){
 echo '<table>' . substr($data, $begin, $eind-$begin) . '</table>';
}

else{
 echo 'Data niet beschikbaar.';
}

?>
 
Roy -

Roy -

05/02/2010 19:46:00
Quote Anchor link
Mijn naam hier op het forum was gewijzigd naar "Bas Kreleger"? Dit was eerst en nu weer: Roy. Hoe kan dit? En er is een bericht gepost door "onbekend". Gaat niet helemaal goed hier op de website. Maargoed;

Ik krijg een deel aangeleverd in een xml. Maar de uitgebreide omschrijving helaas niet. Ik heb toestemming om dit systeem te gebruiken om toch deze informatie te krijgen.

Waarom ik gebruik maak van for. Ik had een soortgelijk scriptje gevonden, deze zodanig aangepast dat het voor mij werkt. Wat ik momenteel heb:
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
23
24
25
26
27
28
<?php
$regels
= file("http://website.nl/info/".$_GET['n']."/info.html");
echo '<table>';
$i = 0;
foreach($regels as $regel){
    $pos = strpos($regel, '<input type="button" value="Bestel" class="orderbutton" onClick="addProductOBN('.$_GET['n'].');">');
    if($pos){
        $start = $i+3;
    }

    $pos3 = strpos($regel, '<td><a href="/compare?artnr='.$_GET['n'].'" title="Productvergelijking">Product toevoegen aan vergelijking</a></td>');
    if($pos3){
        $start = $i+5;
    }

    $i++;
}

$a = $start;
foreach($regels as $regel){
    $pos2 = eregi("</table>", $regels[$a]);
    if($pos2){
        break;
    }
else {
        $tekst = str_replace(' class="normal"', "", $regels[$a]);
        $tekst2 = str_replace(' valign=top', "", $tekst);
        echo $tekst2;
    }

    $a++;
}

?>


Wat kan/moet hier anders en waarom?
Ik gebruik nu bijv. file, hierboven wordt file_get_contents gebruikt. Daarboven wordt mij aangeraden om met dom te werken.
 



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.