PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Formatierung der Ausgabe beibehalten (Tabs, Leerzeichen...)



clumsy
26-07-2006, 12:59
Servus,

Ich setze in PHP ein Befehl über SSH ab. Das Ergebnis will ich ausgeben lassen auf meiner PHP-Seite. Geht auch, allerdings werden mehrfache Leerzeichen, Tabs und Newline ignoriert bzw. durch ein einziges Leerzeichen ersetzt.
Wie kann ich dies verhindern?

Außerdem brauch ich noch was anderes:
Kann man in einer Textarea zeilenweise eine unterschiedliche Hintergrundfarbe zuweisen? Brauche ich für einen Visual Diff...

Danke :)

clumsy

EDIT: Habs momentan so:


echo '<textarea style="background-color:#EEEEEE;" cols="82" rows="30" readonly wrap=off >';

echo html_entity_decode('<pre>');
foreach(explode("\n",$stdout) as $line)
{
echo html_entity_decode($line."<br>");
}
echo html_entity_decode('</pre>');

echo '</textarea>';

Lasse ich die Textarea weg, so passt die Ausgabe. Ich brauche jedoch die Textarea...in der Area steht dann sowas wie

<pre>IRGENDWAS<br>...

undefined
26-07-2006, 14:00
Wie Kodierts du den den String bevor du in auf die Reise schickst?

clumsy
26-07-2006, 14:21
bin schon einen schritt weiter.


echo '<table style="margin-top:10px" width=30%>';
echo '<th>Revision '.$rev1.'</th><th>Revision '.$rev2.'</th>';
echo '<tr><td>';
echo "<pre>";
foreach(explode("\n",$stdout) as $line)
{
echo $line.'<br>';
}

echo "</pre>";
echo '</td><td>';

echo "<pre>";
foreach(explode("\n",$stdout) as $line)
{
echo $line.'<br>';
}
echo "</pre>";
echo '</td></tr></table>';

Habs zwar in dem textfeld auch noch hinbekommen (mit strip_tags), aber leider kann man Textfelder nicht ordentlich zur Ausgabe nutzen (sind ja eigentlich auch nur zur Eingabe...ich weiß).

Jetzt hab ich also ne Tabelle mit 2 Spalten. In jeder steht der Source-Code einer gesamten Datei.
Allerdings will ich den Source-Code in jeder Spalte in eine Art "Fenster" stecken (so wie in eine Textarea), so dass ich nach unten und nach rechts scrollen kann per Scrollbalken. Wie mach ich das am besten?

Ich hab hja oben table width auf 30% gesetzt...kann es sein, dass das völlig ignoriert wird, sobald das PRE-Element in der Tabelle verwendet wird?

clumsy

EDIT: Mein Ziel ist wie gesagt ein Visual Diff...also unterschiedliche Zeilen farblich hervorheben...

Romanday
26-07-2006, 15:27
EDIT: Mein Ziel ist wie gesagt ein Visual Diff...also unterschiedliche Zeilen farblich hervorheben...

Mit einer HTML Textarea funktioniert das nicht. Erkundige dich mal im HTML
Forum.
Wenn es unbedingt flackern soll, basteltst du in Flash <-> Textarea nach,
und importierst deine bunten Zeilen.

clumsy
26-07-2006, 16:04
ne, soll nich flackern...
bin jetzt auch schon wieder einstück weiter. habs ja in einer tabelle jetzt, die aus einer Reihe besteht und 2 Spalten. In jeder Spalte befindet sich Source-Code. Sieht dann ungefähr so aus:
http://www.ifi.lmu.de/~tundo/screen.jpg

Jetzt will ich eine gesamte Codezeile, auch wenn Sie leer ist, grau hinterlegt haben. Wie schaff ich das? Eine Code-Zeile ist keine Tabellenzeile.
Hab erst jede Codezeile in einer Tabellenzeile gehabt, aber dann waren selbst mit Cellpadding/spacing=0 die Zeilenabstände viel zu groß.

Danke :)

clumsy

Gaert
26-07-2006, 16:08
Mit einer HTML Textarea funktioniert das nicht. Erkundige dich mal im HTML
Forum.
Wenn es unbedingt flackern soll, basteltst du in Flash <-> Textarea nach,
und importierst deine bunten Zeilen.

Igitt... blos kein Flash in Zeiten von Web 2.0... schau dir mal Helene an.... ansonsten bitte im HTML Forum fragen:
Helene: http://helene.muze.nl/

Romanday
26-07-2006, 18:34
Igitt... blos kein Flash in Zeiten von Web 2.0... schau dir mal Helene an

Hätte auch nicht gedacht, das sich Flash durchsetzt, aber es gibt welche
die sind ganz verrückt danach. :D


schau dir mal Helene an

Ich glaub auch nicht, das sich das mit JS realiesieren läßt.
Wie gesagt, er will die Zeilen innerhalb einer textarea unterschiedlich
farbig darstellen.

Anonsten mal BlueJay

http://www.mrunix.de/forums/member.php?find=lastposter&t=45011

fragen.

Gaert
27-07-2006, 12:37
Jetzt will ich eine gesamte Codezeile, auch wenn Sie leer ist, grau hinterlegt haben. Wie schaff ich das? Eine Code-Zeile ist keine Tabellenzeile.
Hab erst jede Codezeile in einer Tabellenzeile gehabt, aber dann waren selbst mit Cellpadding/spacing=0 die Zeilenabstände viel zu groß.

Das sollte mit CSS kein Problem sein - dafür bist du jetzt aber wirklich im falschen Forum - frag doch bitte konkret nochmal im HTML Forum nach.

Gruß,

Gaert