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.