Hi,
bestimmt wurde das Thema schon öfter behandelt, jedoch suche ich schon seit über 6 Stunden und komme nicht weiter.
Ich habe eine ausgelesene Tabelle:
http://kfvmol.de/nuliga/staffel_tabe...3%BCck+14%2F15
aus dieser Tabelle würde ich nun gerne lediglich die spalten 1,2,5,6 angezeigt bekommen.
Mein bisheriger Code liefert mir lediglich die ganze Tabelle.
=============================
<?php
$string = file_get_contents('http://kfvmol.de/nuliga/staffel_tabelle?staffel=178478&bereich=Mosel%2FEif el+u.+Nahe%2FHunsr%C3%BCck+14%2F15','r');
$mark = ("'<table[^>]*>.*?</table>'si");
if (preg_match ($mark,$string,$hits))
{
$table = $hits[0];
}
echo $table;
?>
==============================
Ich habe schon versucht mir preg_match_all und so weiter, aber ich verstehe nicht wann welche spalte wiedergegeben wird.
Vielen Dank für eure Hilfe
Gruß
Lukas
Ankündigung
Einklappen
Keine Ankündigung bisher.
Spalte X aus Tabelle auslesen
Einklappen
Neue Werbung 2019
Einklappen
X
-
Spalte X aus Tabelle auslesen
Stichworte: -
-
Wenn es Dir aber nur um das "Anzeigen" geht kannst Du die Spalten auch mit css verstecken...
-
Evtl hilft Dir das:
https://code.google.com/p/php-html2array/
oder das:
http://www.espend.de/artikel/html-ta...php-array.html
Einen Kommentar schreiben:
-
Informationen aus HTML zu fischen ist nicht nur unschön sondern auch eine undankbare Aufgabe.
Gibt es keinen anderen Weg an die Informationen zu kommen?
Beispielsweise über eine API, welche dir die Informationen als JSON oder XML liefert.
Wenn es denn sein muss, tu dir das nicht an, mit regulären Ausdrücken dein Problem lösen zu wollen.
Alternativ zu den Vorschlag von monolith kannst du auch DOMDocument nutzen, welches PHP ab Version 5 an Bord hat.
Der Ansatz sieht dann in etwa so aus:
PHP-Code:$html = file_get_contents($url);
$doc = new DOMDocument();
$doc->loadHTML($html);
$trNodeList = $doc->getElementsByTagName("tr");
foreach($trNodeList as $trNode){
$tdNodeList = $trNode->getElementsByTagName("td");
:
Einen Kommentar schreiben:
-
@nikosch:
Danke für die Info zum einfügen der Codes.
Ich hoffe du kannst trotzdem auch eine Antwort auf meine Frage geben?
@monolith:
Ebenfalls danke für deinen Post, aber ähm, WAS?
Wie installier ich denn diesen Dom-Parser? Bzw in welchen Ordner muss ich den einfügen?
Zur Info, ich benutze xampp und wordpress, ebenfalls besitze ich momentan auch noch nicht die aktuellste php version.
Gibt es evtl auch einen php code ohne i-welche zusätze zu installieren?
Danke
Gruß
Lukas
Einen Kommentar schreiben:
-
Es wäre sicher klug einen vorgefertigten DOM-Parser zu nutzen. Hab mich noch nie mit der Thematik beschäftigt daher kann ich auch nicht genaueres dazu sagen.
Aber Google hat das hier ausgeworfen:
GitHub: https://github.com/sunra/php-simple-html-dom-parser
Packagist: https://packagist.org/packages/sunra...tml-dom-parser
Beispiel:
PHP-Code:// Create DOM from URL or file
$fileName = 'http://kfvmol.de/nuliga/staffel_tabelle?staffel=178478&bereich=Mosel%2FEifel+u.+Nahe%2FHunsrück+14%2F15';
$dom = HtmlDomParser::file_get_html($fileName);
// Find all td's
foreach($dom->find('td') as $element) {
var_dump($element);
}
Ein spekulativer Vorschlag:
PHP-Code:foreach ($dom->find('tr') as $tr) {
$i = 0;
foreach ($tr->find('td') as $td) {
$i++; // Nicht elegant aber hab ja keine Ahnung wie die Klasse ausschaut...
if ($i < 3 and $i > 4) {
// tu was mit $td
}
}
}
Einen Kommentar schreiben:
-
Beim Posten von Quellcode oder strukturierten Daten bitte bbCode verwenden ([php] für PHP, [html] für HTML, [code] für den Rest (Dumps, Queries..)) und Code geeignet einrücken.
Einen Kommentar schreiben:
Einen Kommentar schreiben: