Eine HTML Zeilenweise duchgehen

Hallo,
Ich habe eine HTML ausgelesen, den interessanten teil in einen Substring geschrieben.
Nun möchte ich diesen Teil die Teilen zerlegen und jede Zeile einzeln duchgehen.
Mit split und foreach etc. hat es nicht funktioniert.
Kann mir jemand helfen?
Bitte um Antwort
 
Hi,

1.) Zeig deinen aktuellen Code.
2.) Was funktioniert nicht genau? Fehlermeldung? Code?
3.) Zum Splitten eines Strings in Zeilen:
PHP:
$lines = explode("\n", $string);
 
Hallo,
hier mein Code. Hab am anfang etw. weg gelassen sonst wirds zu lang:

PHP:
$subhtml= substr($html,$pos,$pos1 -$pos); //Bis hir hin funktioniert es







$array = explode('\r\n',$subhtml); //Das scheint irgendwie nicht zu funktionieren, da die HTML nicht zeilenweise, ondern Blockweise ausgegeben wird.




foreach($array as $wert)
{


echo $OutHTML. $wert. "<br><br><br>"; //Schreibe Zeile in díe Spätere HTML.

}

Das Script teilt die HTML nicht bei jedem Zeilenumbruch. Die Zeilenumbrüche sind aber Vorhanden, das habe ich schon überprüft.
Die HTML besteht aus einer Tabelle, ich will jede Zeile einzeln auf ihren inhalt Untersuchen.


Deinen unteren Code hab ich getestet. Bei mir funktioniert es nicht.
 
Es liegt m.E. nach am delimiter.

Kannst du mal ein Beispiel HTML-Code zeigen?

PHP:
$array = explode("\\r\\n",$subhtml);
 
Zuletzt bearbeitet:
Hallo, dein Code hat leider nicht funktioniert.
Ein auszug aus der HTML (Zensiert wegen Datenschutz).
HTML:
<tr class='list odd'>
<table><tr><td class="list" align="center">
<b>blabla</b></td>
<td class="list" align="center">123</td>
<td class="list" align="center">asdf</td><td class="list" align="center">Namen</td><td class="list" align="center">&nbsp;</td><td class="list" align="center">123bla</td><td class="list" align="center">blabla</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center"><b>bla</b></td><td class="list" align="center">bla</td><td class="list" align="center">bla</td><td class="list" align="center">bla</td><td class="list" align="center">&nbsp;</td><td class="list" align="center">bla</td><td class="list" align="center">bla</td><td class="list" align="center">x</td></tr>
<tr class='list odd'><td class="list" align="center" style="background-color: #C0C0C0" ><b><span style="color: #010101">123665</span></b></td><td class="list" align="center" style="background-color: #C0C0C0" ><span style="color: #010101">bla</span></td><td class="list" align="center" style="background-color: #C0C0C0" ><span style="color: #010101">---</span></td><td class="list" align="center" style="background-color: #C0C0C0" ><span style="color: #010101">---</span></td><td class="list" align="center" style="background-color: #C0C0C0" ><span style="color: #010101">&nbsp;</span></td><td class="list" align="center" style="background-color: #C0C0C0" ><span style="color: #010101">bla</span></td><td class="list" align="center" style="background-color: #C0C0C0" ><span style="color: #010101">&nbsp;</span></td><td class="list" align="center" style="background-color: #C0C0C0" ><span style="color: #010101">&nbsp;</span></td></tr></table>
Immer da wo </tr> zu geht, soll der String gesplittet werden.
 
mit preg_split() verlierst du den regulären Ausdruck mit dem du trennst.
Ich geh mal davon aus, dass was ausserhalb der <tr>-Tags ist nicht interessant ist. Dann kannst du auch mit preg_match_all() aufteilen
Code:
'/(<tr.*<\/tr>)/isU'
 
Wie jetzt, schreib mit bitte ein Codebeispiel, damit isch es verstehe.
wie komm ich dann zum array, wnn die Funktion nur int ausgibt?

Danke du brauchst kein Beispiel mehr posten, ich habs dank php.net hinbekommen.
Jetzt habe ich nur das problen, ass ich "Einen Array in einem Array habe".
Etwa so:
PHP:
Array ( [0] => Array ( [0] =>  inhalt.......
[1] => inhalt.......
) [1] => Array ( [0] =>  inhalt.......
[1] =>  inhalt.......   
) [2] => Array ( [0] =>  inhalt.......     
[1] =>  inhalt.......     
) [3] => Array ( [0] =>  inhalt.......  
[1] =>  inhalt.......  
) [4] => Array ( [0] =>  inhalt.......
[1] =>  inhalt.......
) [5] => Array ( [0] => inhalt....... 
[1] =>  inhalt.......   
) [6] => Array ( [0] => inhalt.......
[1] =>  inhalt....... 
) [7] => inhalt.......  
[1] =>  inhalt.......   
) [8] => Array ( [0] =>  inhalt.......
[1] =>  inhalt.......
) [9] => Array ( [0] =>  inhalt.......
[1] =>  inhalt.......
) [10] => Array ( [0] =>  inhalt.......
[1] => inhalt.......
) [11] => Array ( [0] =>  inhalt....... 
[1] => inhalt.......
) [12] => Array ( [0] =>  inhalt.......
[1] => inhalt....... 
) [13] => Array ( [0] =>  inhalt....... 
[1] =>  inhalt.......  
) [14] => Array ( [0] =>  inhalt.......    
[1] =>  inhalt.......    
) [15] => Array ( [0] =>  inhalt.......   
[1] =>  6b 6 --- ---   Sh     
) [16] => Array ( [0] =>  inhalt.......   
[1] => inhalt.......  
) [17] => Array ( [0] => inhalt....... 
[1] =>  inhalt.......   
) [18] => Array ( [0] =>  inhalt....... 
[1] =>  inhalt....... 
) [19] => Array ( [0] => inhalt....... 
[1] =>
Inhalt sehe ich schon, den habe ich nur entfernt.
Wie kann ich auf die arrays mit
PHP:
echo $array[$zahl];
zugreifen?

Das habe ich auch gelöst!
PHP:
preg_match_all('/(<tr.*<\/tr>)/isU',$ausfaelle,$treffer, PREG_SET_ORDER);

foreach($treffer as $wert)
{
foreach($wert as $www)
{

if($www != $www1)
{
echo $www . "\n\n<br>";
}
$www1 = $www;
}
}

Vielen Dank für eure Hilfe!!
 

Neue Beiträge

Zurück