Ankündigung

Einklappen
Keine Ankündigung bisher.

DOM Funktionen und Entities

Einklappen

Neue Werbung 2019

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

  • DOM Funktionen und Entities

    Ich setz das ma in die Anfänger

    OK, folgendes: Ich erstelle ein XHTML Dokument mit den DOM-Funktionen. Nun habe ich alles auf utf-8
    decodiert, damit ich mir mit den Entities nicht so ein Kopp machen muss, aber <&>" müssen ja nun
    weiterhin "entitiert" (heißt das da auch "escaped"?) werden. Nun (warum auch immer) bin ich der
    festen Überzeugung, dass es die Funktionen selbstständig können, ich glaube, ich hab es irgendwo
    gelesen. Das Internet hält sich mit Informationen an der Stelle auch durchaus ein wenig zurück
    und das Manual gibt er grobe Hinweise. ZB habe ich nun auch in meine PHP folgendes eingefügt
    PHP-Code:
    $document->resolveExternals TRUE;
    $document->substituteEntities TRUE
    resolveExternals ist klar, aber zum anderen steht im Manual ... nix.
    Das besonders Irritierende: < wandelt er in $lt; um, alles andere ignoriert er scheinbar.

    Nun die Fragen:
    1. Geht das überhaupt von alleine? (Wenn nicht, wieso ersetzt er dann <?)
    2. Wie?

    Ich geh dann ma weiter suchen

  • #2
    Alternativ, wenn auch net so schön: Wie bekomme ich aus einem DOMDocument alle DOMText-Knoten? Würde die dann nämlich iterativ über htmlspecialchars laufen lassen, auch wenns mir net so gefällt...

    Kommentar


    • #3
      Hallo, PHP 5 und auch 4 verwende intern beim Parsen UTF 8
      und in dem Zeichensatz werden umlaute und andere Zeichen nicht oder falsch dargestelt.
      Benutz die Funktion utf8_decode("string") beim einlesen aus dem XML File und utf8_encode("string") beim schreiben in den DOM Baum

      gruss

      Kommentar


      • #4
        äh ... Ich hab mein Dateiformat komplett auf utf-8 gestellt, somits kann ich mir den Kram im Groben sparen. Jedoch müssen in XHTML weiterhin <&>" escaped werden, auch in utf-8. oder net? Sagte zumindest eine Quelle aussm Netz ^^' Is unglaublich, wie sehr ich grad auffn Schlauch stehe

        Kommentar


        • #5
          OK, langsam entwickelt es sich für mich zu einem Rätsel: Neuerdings escaped er selbstständig <>, dafürt wirft er bei & jetzt direkt nen Fehler "unterminated Entity reference", oda so ähnlich... " lässt er weiterhin unberührt. Tja, was habe ich getan? Eigentlich nix, zumindest ist mir nichts bewusst, ausser das ich ein Copyright-Symbol testweise direkt als utf-8 eingefügt habe (was er auch problemlos anzeigte)...

          Mich verwirrt das Teil...

          ----

          Edit: Womöglich hab ichs, ich werd das nochmal durchtesten. Allerdings " escaped er weiterhin nicht, oder habe ich das nun falsch verstanden und es muss nicht escaped werden? Ich les auch grad auf der Seite, dass es zwar nicht escaped werden muss, aber sollte ^^ schön schwammig. Warum meine Lösung nun klappt, weiß ich net...
          Code:
          // Tuts
          $anchor->appendChild($el = new DOMElement('span'));
          $el->appendChild(new DOMText('©<>\"\&   '));
          
          // Tuts net (wirft Warning)
          $anchor->appendChild($el = new DOMElement('span','©<>\"\&   '));
          Dabei dachte ich, das zweite Argument beim Konstruktor von DOMElement sei quasi nur Kurzschreibweise, für das obere ^^

          Einige Verhaltensweisen von oben irritieren mich aber weiterhin und ich hoffe, die bleiben weg ...

          Kommentar

          Lädt...
          X