zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Per PHP gezielt einzelne Elemente im Baum "treffen"

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 16.09.2010, 13:57
Benutzerbild von AndreasB
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 29.11.2005
Beiträge: 1.375
AndreasB wird schon bald berühmt werden
Standard Per PHP gezielt einzelne Elemente im Baum "treffen"

Per CSS ist sehr schön möglich - zum Beispiel via Nachfahren-Selektor - gezielt bestimmte Elemente im Baum (eines XHTML-Dokumentes) zu treffen.

Ist so etwas auch per PHP möglich?
Es soll also ganz bewußt nicht per RegEx nach Zeichenfolgen gesucht werden, sondern die Struktur des Baumes soll verwendet werden können.

Beispiel einer Anwendung, wo hinter einer bestimmten Überschrift (h3 als Kind von section-1) ein Absatz eingefügt werden soll:

Auf dem Server:
HTML-Code:
<html>
<head><?php include ... ?></head>
<body>
    <div id="content">
        <div id="section-1">
            <h3></h3>
        </div>
        <div id="section-2"></div>
    <div>
</body>
</html>
Ausgeliefert:
HTML-Code:
...
  <h3></h3>
  <p class="subtitle">...</p>
...
</body>
</html>
__________________

Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 16.09.2010, 14:19
Benutzerbild von derHund
durstiges Tier
XHTMLforum-Mitglied
 
Registriert seit: 16.09.2004
Beiträge: 869
derHund befindet sich auf einem aufstrebenden Ast
Standard

PHP: DOM - Manual
__________________
Die Zeit hat ihre Kinder längst gefressen: hund (back in black) | ??? | ??? | ...
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 16.09.2010, 14:33
Benutzerbild von AndreasB
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 29.11.2005
Beiträge: 1.375
AndreasB wird schon bald berühmt werden
Standard

Zitat:
Zitat von derHund Beitrag anzeigen
Danke für den Hinweis.

Hat es bestimmte Gründe, dass dieser Weg, Elemente zu treffen wenig bis kaum in öffentlichen Skripten in Erscheinung tritt?

Zum Beispiel verwendet Toscho in seinem Skript
Deppenlink
eine "Suche nach Zeichenfolge" und nicht die Methode "Suche alle A-Elemente".
__________________

Mit Zitat antworten
  #4 (permalink)  
Alt 16.09.2010, 21:48
Benutzerbild von toscho
Perplexifikator
XHTMLforum-Kenner
 
Registriert seit: 22.05.2004
Ort: Halle/Saale
Beiträge: 1.565
toscho sorgt für eine eindrucksvolle Atmosphäretoscho sorgt für eine eindrucksvolle Atmosphäre
Standard

Der Zugriff per DOM-API wird sehr schwierig, wenn im Dokument optionale Endtags entfernt wurden. Bei größeren Operationen würde ich auch kein Regex für so etwas verwenden, sondern eher einen echten Tokenizer. Pflichtlektüre.
__________________
toscho.de
Mit Zitat antworten
  #5 (permalink)  
Alt 16.09.2010, 22:39
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.626
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Wenn es sich um valides xhtml handelt könntest Du aus dem Markup ein SimpleXML-Objekt erstellen und hättest über Xpath eine gute Möglichkeit durch das DOM zu navigieren.
__________________
github | http://dnaber.de
Mit Zitat antworten
  #6 (permalink)  
Alt 19.09.2010, 10:43
Benutzerbild von AndreasB
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 29.11.2005
Beiträge: 1.375
AndreasB wird schon bald berühmt werden
Standard

Zitat:
Zitat von toscho Beitrag anzeigen
Der Zugriff per DOM-API wird sehr schwierig, wenn im Dokument optionale Endtags entfernt wurden.
Ich dachte an valide und wohlgeformte XHTML-Dokumente.

Mich wundert als Nicht-Programmierer, dass man in PHP-Skripten nicht häufig die Methode "Zugriff via DOM" vorfindet.

Hat das vielleicht einfach mit Gewohnheiten von Programmierern zu tun, die einen RegEx schnell mal aus der Hand schütteln, es jedoch umständlich finden, den "Zugriff via DOM" zu schreiben?

Falls jemand ein öffentliches Skript kennt, welches eine praktische Aufgabe wie das Ergänzen oder Ersetzen von Markup mit Hilfe des Zugriffs via DOM realisiert, freue ich mich über einen Hinweis.
__________________

Mit Zitat antworten
  #7 (permalink)  
Alt 19.09.2010, 10:44
Benutzerbild von AndreasB
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 29.11.2005
Beiträge: 1.375
AndreasB wird schon bald berühmt werden
Standard

Zitat:
Zitat von David Beitrag anzeigen
Wenn es sich um valides xhtml handelt könntest Du aus dem Markup ein SimpleXML-Objekt erstellen und hättest über Xpath eine gute Möglichkeit durch das DOM zu navigieren.
Kennst Du vielleicht dazu ein öffentlich verfügbares Beispiel?
__________________

Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Dateien auslagern - Include und PHP ArcVieh Serveradministration und serverseitige Scripte 17 27.03.2008 18:09
Per PHP aufgerufenes Kontaktformular wird missbraucht Glödu Serveradministration und serverseitige Scripte 10 01.10.2006 01:28
PHP: Abstimmung per Grafikleiste Lloyd Larkin Serveradministration und serverseitige Scripte 12 20.07.2006 14:13
problem mit auslesen der radiobuttons per php nevermind Serveradministration und serverseitige Scripte 16 17.06.2006 17:36
Per PHP Seitenteile includen - als PHP, HTML oder anderes? jottlieb Serveradministration und serverseitige Scripte 9 24.01.2006 14:46


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:29 Uhr.