php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.08.2010, 17:38  
Neuer Benutzer
 
Registriert seit: 28.11.2009
Beiträge: 3
PHP-Kenntnisse:
Anfänger
berryone befindet sich auf einem aufstrebenden Ast
Standard Problem mit PHP Simple HTML DOM Parser

Hallo, habe folgendes Problem,
ich möchte ein HTML File parsen und zwar möchte ich jeden INNERTEXT (content) im Body eines HTML Tags ermitteln.

Bsp HTML File:
Code:
<html>
 <head><titel>Test</titel></head>
 <body>
  <b>das ist ein Test
   <i>blabla
    <a href="http://www.google.de">Link1</a>
    </i>
  </b>
  <a href="http://www.web.de">Link2</a>
  <br>
  <p>test</p>
 </body>
</html>
meine erwartete Ausgabe für mein PHP Script ist:

* das ist ein Test
* blabla
* Link1
* Link2
* test


Das ganze versuche ich so zu realisieren:
ich möchte einfach alle Tags beliebig tief durch iterieren

PHP-Code:
$html str_get_html('html file');

foreach(
$html->find('body') as $element)
{
 
$result $element;
}

foreach(
$result->children() as $innerElement)
{
 if(
$innerElement->innertext) echo htmlentities($innerElement->innertext)."<br>";
 if(
$innerElement->children())
 {
  
// noch keine logik drin
 
}


Der Code funktioniert nur in erster Ebene, wie könnte ich nun das Problem mit der verschachtelung lösen?
ich stehe gerade ein bischen auf dem schlauch...
bekomme da gerade auch kein rekursiven Algorithmus hin.

Aber vielleicht hat jemand ne Idee oder es gibt ne einfachere Möglichkeit mit PHP Simple HTML DOM Parser.

Hier ist die API Beschreibung von PHP Simple HTML DOM Parser -> PHP Simple HTML DOM Parser

Vielen Dank.
berryone
berryone ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.08.2010, 17:59  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.069
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Hallo, versuch es mit Rekursion.

Pseudocode:
Code:
function getText(element) {
  if (hasChildren) {
    return getText(getChildren)
  } else {
    return innerText
  }
}
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 30.08.2010, 18:00  
Erfahrener Benutzer
 
Registriert seit: 02.09.2009
Beiträge: 921
PHP-Kenntnisse:
Fortgeschritten
mquadrat befindet sich auf einem aufstrebenden Ast
Standard

Du schreibst dir eine Funktion, der ein Element-Objekt übergeben wird. Darin gibst du das jeweilge InnerHTML aus und rufst in einer Schleife durch alle Kind-Elemente die selbe Funktion wieder auf (nur diesmal logischerweise mit dem jeweiligen Kind-Element als Argument). Dann brauchst du die Rekursion nur noch durch Aufrufen der Methode mit dem body-Element als Argument zu starten. Fertig.
__________________
Wir suchen PHP / Delphi und .NET Entwickler im Raum Darmstadt / Rhein-Main. Infos via E-Mail mueller@new-frontiers.de
mquadrat ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit String auslesen aus HTML AKirchmeyer PHP Tipps 2010 2 14.03.2010 08:07
[Erledigt] Template Parser - Problem T!G3R PHP Tipps 2010 9 08.03.2010 11:21
Umlaut Problem nokieone PHP Tipps 2009 7 16.10.2009 19:30
Posix Regex: Problem beim HTML Tags suchen PHP Tipps 2005 2 13.09.2008 17:57
Problem beim erstellen einer HTML Mail... GELight PHP Tipps 2006 15 06.10.2006 00:27
[Erledigt] Validation Problem - HTML Tags in Javascript HTML, Usability und Barrierefreiheit 7 06.03.2006 23:38
Problem mit Php und Javascript um in Html anzuzeigen scheibo PHP Tipps 2006 6 31.01.2006 16:15
HTML Frame problem? HTML, Usability und Barrierefreiheit 6 25.12.2005 12:03
[Erledigt] Problem mit Sonderzeichen PHP -&gt; MySQL -&gt; HTML PHP Tipps 2007 18 07.12.2005 15:23
xml parser: problem mit großen Tag Inhalten PHP-Fortgeschrittene 2 14.04.2005 13:07
suche HTML Parser DerDesian PHP Tipps 2005 4 05.04.2005 16:21
Problem: PHP + HTML PHP Tipps 2005 8 30.01.2005 19:55
[Erledigt] Problem mit HTML HTML, Usability und Barrierefreiheit 1 15.12.2004 23:11
Problem: PHP Ergebnis in HTML speichern PHP Tipps 2004 17 23.07.2004 23:56
Problem mit validem HTML zwelch HTML, Usability und Barrierefreiheit 3 01.07.2004 13:42

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php dom parser, php html parser, http://www.php.de/php-fortgeschrittene/71305-problem-mit-php-simple-html-dom-parser.html, php simple html dom parser, simplehtmldom, php simple html dom parser umlaute, php html parsen, dom parser php, php parse html, html parser php, php html dom parser, php simple dom, php parse dom, simple html dom, html dom parser, html-parser php, html dom parser php, simple html dom problem, php simple html dom, html parsen php

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:01 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum