Hoi!

Ik heb een vraagje. Mijn computer is gecrashed en nu moet ik een script herschrijven wat ik erg lang geleden geschreven had. Ik kom er echter niet meer uit. De bedoeling is dat het script een pagina met gegevens opent en zijn positie bepaalt met behulp van het volgende script:

<?php
 function inBetween($start,$end,$string) {
$startpos = strpos($string, $start) + strlen($start);
if (strpos($string, $start) !== false) {
    $endpos = strpos($string, $end, $startpos);
    if (strpos($string, $end, $startpos) !== false) {
       $newstring = substr($string, $startpos, $endpos - $startpos);
        print $newstring;

    }
}}
?>


Wat ik dan krijg is een tabel. Zoiets:

<table><tr><td>Kolom 1</td><td>Kolom 2</td></tr>
<tr><td>rij 2, Kolom 1</td><td>Rij 2, Kolom 2</td></tr></table>


Nu wil ik graag van iedere rij en iedere kolom de data in een array kunnen zetten. Als ik bovenstaand script daarvoor gebruik krijg ik natuurlijk alleen de bovenste rij, terwijl er wel 20 rijen per pagina zijn. Ik neem aan dat ik een foreach loop moet gebruiken, maar ik ben even vergeten hoe ik die moet combineren met bovenstaand script.

Wie helpt mij uit de brand?

Hartstikke bedankt!

Groetjes,

Arthur


Oeps
Kun je hiervoor niet beter reguliere expressies gebruiken of een XML parser ofzo?
Ik sta open voor andere oplossingen, absoluut. Het leek me het makkelijkste om een foreach loop te maken, maar ik kom er niet uit. Hoe zou jij het aanpakken dan, Thomas?

[size=xsmall]Toevoeging op 07/04/2017 17:25:32:[/size]

Het is de bedoeling dat ik de data uit iedere regel, dus iedere <tr> in een mysql database kan doen, mocht dat niet duidelijk zijn.

[size=xsmall]Toevoeging op 07/04/2017 17:57:54:[/size]

Ik denk dat ik eruit ben. Volgens mij moet dit hem zijn:


foreach(explode("<tr", inBetween($start,$end,$string)) as $line) {

 var_dump($line);
    
 }

Reageren