Einzelnen Beitrag anzeigen

Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#1

[PHP] Tabs am Anfang einer Zeile durch Leerzeichen ersetzen

  Alt 9. Mai 2006, 20:21
Hallo!

Ich habe folgendes Problem: Ich erzeuge mittels einem PHP-Skript ein HTML-Output, welches mit Tabs formatiert ist. Wahlweise soll der Benutzer meines Skripts auch die Formatierungstabs in Leerzeichen umwandeln können. Das habe ich mit folgendem Code gelöst:

Code:
[color=#000080][i]$content[/i][/color] = preg_replace([color=#008000]"[\t]"[/color], str_repeat([color=#008000]' '[/color], [color=#000080][i]$space[/i][/color]), [color=#000080][i]$content[/i][/color])
Jedoch werden mit diesem Code auch Tabs innerhalb der HTML-Tags ersetzt, würde ich mal sagen, ich will aber nur die Tabs ersetzen, welche am Anfang der Zeile stehen. Also á la @^[\t]@m. Jedoch wird bei diesem Code nur das 1. Tab ersetzt, da das 2. Tab ja nichtmehr an den Zeilenanfang grenzt. Mit @^[\t]*@m werden zwar alle Tabs ersetzt, jedoch weiß ich nicht wieviele ursprünglich da waren, also wird der Abstand, welcher vorher durch mehrere Tabs formatiert wurde, jetzt nur noch durch die anzahl der Leerzeichen formatiert, welche einem Tab entsprechen.
Wie kann ich das Problem lösen?

Grüße
Faux

P.S. Ich habe keines der Beispiele getestet; es sind nur "Gedankenexperimente", also es kann sein, dass ich mich irre.
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat