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
1$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 ?