Mit PHP -> html teilweise ersetzen

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

  • #16
    $neuesElement ist bei dir ein String mit HTML-Code, das darf aber nicht so sein. Informier dich bitte selbst, wie man per DOM Knoten erzeugt und einfügt. Letzter Hinweis dazu:
    PHP: DOMDocument::createElement - Manual
    und dort auch die Beispiele und Nutzerkommentare ansehen. Dafür ist das Handbuch ja da.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #17
      Ob du es glaubst oder nicht - aber genau siese Seite habe ich seit ca 2 stunden offen und probiere daran herum. Leider habe ich noch nicht raus gefunden wie ich ein HTML file damit bearbeiten kann - es in eine VAriable ein zu binden geht auch nicht, und kompet in einzelteile zerlegen klappt auch nicht.

      Danke für deine hilfe - ohne dich wäre ich nie so weit gekommen - irgendwie schall ich das schon noch. Icht ja auch nur für private zwecke und hat keinen abgabetermien

      Danke nochmal

      Nappi

      Kommentar


      • #18
        Funktionieren denn deine XPath-Ausdrücke eigentlich wirklich so, wie du sie abgeändert hast? Ich war mir eigentlich sicher, dass meine korrekt waren.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #19
          Hallo und danke für deine Antwort

          Also im Großen und Ganzen habe ich alles so übernommen wie ich es von dir bekommen habe und es arbeitet ja auch das html file durch nur fügt es eben nicht das ein was ich möchte sondern nur

          HTML-Code:
          <?xml version="1.0" standalone="yes"?>
          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
          <?xml version="1.0" standalone="yes"?>
          Mit den komischen Zeichen am ende jeder zeile und der Wiederholung von der xml versions zeile.

          Ich habe versucht den Knoten mit JavaScript zu erstellen und habe dafür die ganze HTML zerpflückt und an einzelne Variablen am Ende habe ich das dann als eine Variable zusammen gefasst. Funktioniert aber nicht.

          Ich komm einfach nicht weiter und bin schon am überlegen ob ich es nicht anders machen sollte und das ganze über eine Datenbank abarbeiten lasse. Damit kenne ich mich wesentlich besser aus. Ich wollte es nur einmal auf einen anderen Weg versuchen, das Ergebnis ist sehr ernüchternd und niederschmetternd :/

          Nappi

          Kommentar


          • #20
            Die XML Version bekommst Du wahrscheinlich weg, indem Du die richtige Methode zum Speichern verwendest. DomDocument::saveXML() wäre wahrscheinlich für Deine Zwecke richtiger. Schaue hier auch bitte mal in die Benutzer Kommentare. Dort sind mehrere Möglichkeiten dargestellt, wie Du die XML Versionierung vorweg lassen kannst.

            Ansonsten kann ich Amica nur beipflichten. Normalerweise erstellst Du mit DomDocument::createElement() einen neuen Knoten, den Du dann an gewünschter Stelle im DomTree einbinden kannst. Bis dahin hilft aber nur Debugging.
            Was passiert denn, wenn Du Dir den ermittelten Knoten, welchen Du mit XPath gefunden hast, mal mit var_dump() ausgeben lässt?
            MM Newmedia | MeinBlog

            Kommentar


            • #21
              Zitat von Nappi Beitrag anzeigen
              Du hast absolt recht mit xml kenn ich mich wirklich sehr schlecht aus.

              das ist das HTML

              HTML-Code:
              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
              <html xmlns="http://www.w3.org/1999/xhtml">
              <head>
              
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
              <title>Galerie</title>
              </head>
              <body>
              
              <div id="horse1">
              	<h3>Pferd im Galopp</h3><p><div >
              	<img style="float: left; padding: 5px; margin: 5px 5px 5px 5px; border: 2px solid black"
              	src="/images/horse1.jpg"
              	alt="Pferd im Galopp" width="400px" /></div>
              	<p>Beschreibung des Bildes.</p>
              </div>
              
              </body>
              </html>
              Die zwei äusseren DIV geben dan zu ändernden Rahmen.

              Das ganze ist für eine Galerie.

              Ich hoffe du kannst mir helfen denn bei allem probieren und lesen - suchen nach Tuorials und Manuels habe ich komplet den überblick verlohren.

              Nappi
              Das mag zwar HTML sein - aber da du ja XML verarbeiten willst (DOM) wirst du deiner ursprünglichen Datei einen XML-Kopf verpassen müssen

              ich vermute das die DOM-Funktionen, die du aufrufst, dies "irgendwie" bemängeln und daher immer neue XML-Kopfzeilen auftauchen -
              dummerweise reproduziert sich der Fehler danach selbsttätig, da die XML-Syntax nicht so frei wie HTML ist ...

              sprich er stolpert über die fehlerhaft eingefügte 2te Kopfzeile und verpasst ihr dabei das sich wiederholende Fragezeichen .....

              laut meinem gefundenen Beispiel (ist zwar aus einem JAVA-XML-Buch, aber die XHTML-Datei sollte ja trotzdem funktionieren) sollte es also so aussehen
              HTML-Code:
              <?xml version="1.0" encoding="iso-8859-1"?>
              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
              <html>
              <head>
              <title>Galerie</title>
              </head>
              <body>
              <div id="horse1">
              	<h3>Pferd im Galopp</h3>
                         <p><div>
                         <img style="float: left; padding: 5px; margin: 5px 5px 5px 5px; border: 2px solid black"
              	src="/images/horse1.jpg"
              	alt="Pferd im Galopp" width="400px" />
                         </div></p> // der fehlte im Original
              	<p>Beschreibung des Bildes.</p>
              </div>
              </body>
              </html>
              der XHTML-Code darf auch kein leer-Zeilen enthalten - höchstens eine am Ende der ganzen Datei ... steht jedenfalls in dem JAVA-XML-Buch so drin ..
              außerdem peinlich darauf achten, dass jedes geöffnete Tag genau in der umgekehrten Reihenfolge auch geschlossen wird bzw gleich als
              HTML-Code:
              <tag attrib="text" />
              definiert wird.
              Zuletzt geändert von eagle275; 22.06.2010, 23:53.
              [font=Verdana]
              Wer LESEN kann, ist klar im Vorteil!
              [/font]

              Kommentar


              • #22
                @eagle275: Der HTML-Code wird mit loadHTML geladen. Daher ist es nicht erforderlich, XML-Code vorzusetzen und darum muss auch keine XML-Deklaration enthalten sein.

                Das mit den angeblich verbotenen Leerzeilen ist kompletter Blödsinn. Was steht denn dazu genau in dem Buch?

                Wenn man HTML-Code mit loadHTML parst, muss das Dokument auch nicht fully-tagged (in XML wäre das in etwa sowas wie well-formed) sein. Es sollte halt nur genau der verwendeten DTD (in diesem Falle ist das ja eine SGML-DTD) entsprechen.
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar

                Lädt...
                X