kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: XML Syntax mit Zeilenumbruch und Einrückung ?

    geschrieben von rabatto

    Hallo

    die Ausgabe des Code in HTML (mit <pre>) ist mir ziemlich egal ...
    ... bzw das bekome ich dann selber hin ... darum geht es NICHT

    es geht um Einrückungen bei (plain/raw) Code, zum "sauber" speichern

    ich will auch kein Suchmuster mit so einem array() für das man
    ja vorher alle Elemente (Knoten) und deren Ebene kennen müsste
    (... sorry ... das finde ich einen unbrauchbaren Ansatz)

    ich will ein (Regex) Pattern, (oder wenn es gibt andere Möglichkeit)
    welches ich auf beliebigen XML oder HTML Code anwenden kann
    ohne die Tags / Elemente / Knoten / Ebenen ... vorher zu kennen.

    also bitte nicht vom Thema abkommen,
    ich will nix über header Content-Type oder <pre> Ausgabe wissen,
    sondern ich suche einfach nur eine Möglichkeit, wie man Quellcode
    sauber einrücken kann, so dass jede "Ebene" am Anfang der Zeile
    entsprechende Tabs (bzw. Leerzeichen) bekommt.
    ... siehe ganz oben mein BSP ...


    also bitte beim Thema bleiben, ich brauch nix zu header('Content-Type...')
    und auch nix zu Ausgabe in HTML mit <pre> oder andere "sekundäre Dinge
    sondern nur den (Regex) Pattern, (oder wenn es gibt andere Möglichkeit)
    um im Quellcode die Einrückungen hin zu bekommen.


    anders gesagt .. sowas wie ein Syntax-Highlighting,
    aber ohne Farben oder andere Formatierungen
    sondern einfach nur die Einrückungen ... egal ob TABs oder Leerzeichen
    nicht mehr

    Danke!

  • in: XML Syntax mit Zeilenumbruch und Einrückung ?

    geschrieben von rabatto

    Danke

    aber ich bräuchte eine Lösung, bei der man nicht jedes Feld vorher kennen muss
    ... also so, dass es für jeden x-beliebigen XML oder HTML Code funktioniert


    das mit dem <pre> ist kein Problem,
    man kann es ja als reinen Text (ohne <pre> drum herum) ausgeben
    mit:

    header("Content-Type: text/plain; charset=utf-8"); 
    print $code_string;


    oder ... als html Ausgabe z.B. so machen

    print '<pre>'."\n"; 
    print htmlentities(print_r($code_string,true));
    print '</pre>'."\n";


    ... gibt es in PHP nicht einfach sowas wie Syntax-Highlighting
    was aber nur die Einrückungen macht, und keine Farben, etc.

  • in: XML Syntax mit Zeilenumbruch und Einrückung ?

    geschrieben von rabatto

    Hallo

    ich habe eine String wie folgendes Beispiel:

    $string = '
    <root><item><name>Donald</name><details><type>Duck</type><age>36</age></details></item><item><name>Mickey</name><details><type>Mouse</type><age>27</age></details></item></root>
    ';



    habe es mit str_replace() versucht, aber damit kommen nur Zeilenumbrüche

    $string = str_replace('><',">\n<",$string);


    Ergebnis:
    $string = '
    <root>
    <item>
    <name>Donald</name>
    <details>
    <type>Duck</type>
    <age>36</age>
    </details>
    </item>
    <item>
    <name>Mickey</name>
    <details>
    <type>Mouse</type>
    <age>27</age>
    </details>
    </item>
    </root>
    ';


    wie kann ich es machen, dass die Elemente auch
    entsprechend ihrer Ebene eingerückt sind ? ... mit TABs oder Leerzeichen

    BSP:
    $string = '
    <root>
      <item>
        <name>Donald</name>
        <details>
            <type>Duck</type>
            <age>36</age>
        </details>
      </item>
      <item>
        <name>Mickey</name>
        <details>
            <type>Mouse</type>
            <age>27</age>
        </details>
      </item>
    </root>
    ';


    also jede Ebene soll um 1 TABs \t (oder je 2 Lerzeichen) weiter eingerückt
    werden, und gleiche Ebenen auf gleicher "Tiefe" stehen ... siehe BSP

    wie machen .. mit Pattern (Welcher?) und preg_replace ?
    ... oder gibt es eine "bessere" Methode ?

Login zum Webhosting ohne Werbung!