Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] DOM - Iteration - for anstatt foreach

Einklappen

Neue Werbung 2019

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

  • [Erledigt] DOM - Iteration - for anstatt foreach

    Hallo zusammen!

    Ich stehe gerade vor einem Problem, bei dem ich mal wieder nicht weiter komme. Ich möchte auf nodevalues zugreifen, allerdings nicht mit einer foreach-schleife, sondern mit einer for-schleife, sodass ich jeden einzelnen node-value individuell bearbeiten kann. Geht das?

    Hier ist mein Code mit der bisherigen foreach-Schleife:

    PHP-Code:
    // Datei via DOM oeffnen

    $doc = new DOMDocument();
    $doc->loadHTMLFile($url);

    // p-Tags holen
    $pTags $doc->getElementsByTagName('p');
    foreach (
    $pTags as $tag) {
    $tag->nodeValue "blablabla";      // Hier sollen für jeden nodevalue seperat Werte zugewiesen werden können. So wie der code jetzt ist wird für jeden nodevalue "blablabla" zugewiesen. Ich möchte aber z.B. dem ersten nodevalue "bla", dem zweiten "hallo", dem dritten "blabla" zuweisen...

    Hätte jemand eine Idee wie man das lösen kann?

    Vielen Dank für Eure Hilfe!

    Gruß, Tobi


  • #2
    PHP-Code:
    for($node 0$node $pTags->length$node++){
        
    $pTags->item($node)->nodeValue

    sollte in etwa so sein
    Relax, you're doing fine.
    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

    Kommentar


    • #3
      Zitat von VPh Beitrag anzeigen
      PHP-Code:
      for($node 0$node $pTags->length$node++){
          
      $pTags->item($node)->nodeValue

      sollte in etwa so sein
      Zunächst danke für Deine Antwort!

      Ich habe es jetzt mal so probiert wie du geschrieben hast - funktioniert aber leider nicht:

      PHP-Code:
          $test = array();
          
      $test[0] = "rot";
          
      $test[1] = "blau";
          
      $test[2] = "grün";
          
      $test[3] = "gelb";
          
      $test[4] = "lila";
          
          
      //p-tags mit for schleife durchlaufen und mit array-elementen befüllen
          
      $pTags $doc->getElementsByTagName('p')
              
          for(
      $node 0$node $pTags->length$node++){
                  
      $pTags->item($node)->nodeValue $test[$node];
          } 
      Hat jemand eine Idee woran das liegt?

      Kommentar


      • #4
        Habe das Problem gesehen - mal wieder einen Strichpunkt vergessen... Dummer Fehler, passiert einfach immer wieder. danke für die Lösung!

        Kommentar


        • #5
          bei komplexeren abfragen rate ich dir zu http://php.net/manual/de/domxpath.query.php wenn du schon dom nimmst.

          Kommentar

          Lädt...
          X