getElementById / TagName Problem

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

  • getElementById / TagName Problem

    Hallo

    ich habe eine HTML template, das ich einlese, per DOMdocument->getElementById nach "markern" durchsuche und diese dann mit anderen Tags "befülle".


    So baue ich nach und nach die Seite zusammen.

    Mein problem ist, damit ich die "marker" finden kann, also zB einen bestimmten div tag, so braucht der eine xml:id (zB <div xml:id="asd"> ). ab schluss steht aber keine XSLT transformation oder dergleichen, darum stehen diese xml:ids am schluß auch im quelltext und die seite validiert nicht......

    kennt wer eine gute möglichkeit irgendwie anders einen marker zu finden, zB mit

    getElementsbyTagName ("div") ... schau ob der ein attribut class hat ... schau ob das das wort marker enthält ... wenn ja, nimm diesen tag...

    mfg

    ich probier ja schon mit
    PHP-Code:
            $output .= $this->body->saveHTML();
            
    str_replace('xml:id''id', (string) $output);
            echo 
    $output
    am schluß im seitenoutput ersetzungen durchzuführen, aber das geht nicht, die ids bleiben... WARUM eigenlich?



    PS: bitte keine antworten ala "nimm smarty"
    Zuletzt geändert von kuhbus; 03.02.2007, 14:56.

  • #2
    http://de3.php.net/manual/de/functio...ementbyid.php:
    For this function to work, you will need either to set some ID attributes with DOMElement->setIdAttribute() or a DTD which defines an attribute to be of type ID. In the later case, you will need to validate your document with DOMDocument->validate() or DOMDocument->validateOnParse before using this function.
    http://blog.bitflux.ch/wiki/GetElementById_Pitfalls

    p.s. nimm kein smarty.

    Kommentar


    • #3
      das hab ich schon probiert mit der DTD dazufügen, aber da schmeissts ihn auf...

      :-(

      geht irgendwie ned....


      warum geht eigtl. das str_replace ned, das wär doch supereinfach...

      Kommentar


      • #4
        weil str_replace() noch einen rückgabewert hat (den du wegschmeißt).

        aber wenn du schon die string-funktionen auspackst, dann kannst du gleich auf xml verzichten und alles per hand machen.

        Kommentar


        • #5
          Danke!

          dummer anfängerfehler....


          naja, das XML und DOM usw hilft mir beim modularen zusammenstellen der seite....

          ausserdem schiesse ich kontektabhängig eh direkt das XML raus (AJAX)....

          aber was spricht dagegen GANZ ZUM SCHLUSS die ausgabe zu manipulieren...??

          eine xlst transformation oder sowas wär sicher inperformanter und auch mit kanonen auf spatzen schiessen

          Kommentar

          Lädt...
          X