Ankündigung

Einklappen
Keine Ankündigung bisher.

Spalte X aus Tabelle auslesen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • LuGGaSch
    hat ein Thema erstellt Spalte X aus Tabelle auslesen.

    Spalte X aus Tabelle auslesen

    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

  • kaminbausatz
    antwortet
    Wenn es Dir aber nur um das "Anzeigen" geht kannst Du die Spalten auch mit css verstecken...

    Einen Kommentar schreiben:


  • kaminbausatz
    antwortet
    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:


  • jspit
    antwortet
    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");
          : 
    LG jspit

    Einen Kommentar schreiben:


  • LuGGaSch
    antwortet
    @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:


  • monolith
    antwortet
    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);

    Wie genau du das dann für deine Wünsche modifizieren musst - darfst du bitte selber herausfinden.

    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 and $i 4) {
                
    // tu was mit $td
            
    }
        }

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    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:

Lädt...
X