Steuerzeichen - Formatierung von auszugebenden Texten in JavaScript oder PHP

[Bildschirmfoto] Steuerzeichen in einem Editor

Bevor längere Texte an ihre Ziele geschickt werden, können diese mit Steuerzeichen für Formatierung, Umbruch, Tabulator etc. versehen werden. Welche Möglichkeiten es gibt, zeigt die folgende Liste. Die Steuerzeichen werden einfach in den Text eingefügt.

Es werden bei JavaScript oder PHP nicht alle Steuerzeichen unterstützt, nur der Zeilenvorschub, Wagenrücklauf und der horizontale Tabulator.

\a  Piepston
\b  Backspace
\e  Escape-Zeichen
\f  Seitenvorschub (Formfeed, FF)
\n  Zeilenvorschub (Neue Zeile, Linefeed, LF)
\r  Wagenrücklauf (Carriage Return, CR)
\t  Horizontaler Tabulator
\v  Vertikaler Tabulator

Das Steuerzeichen \t   (Horizontaler Tabulator) wird von Chromium-Browser (Google Chrome, Microsoft Edge, etc.) nicht unterstützt.

JavaScript

Beispiele für \n (Zeilenumbruch) :

<input type="button" value="Klick" onClick="alert( 'Herzlich \n Willkommen' ); "> 

<input type="button" value="Klick 2"
onClick="confirm('\tTermin wirklich löschen?\nDie Daten sind dann verloren.');"> 


Ausgabe in einem Textbereich (Textarea)

<textarea id="textbereich"></textarea>

<script>
 document.getElementById("textbereich").value = "Herzlich \n Willkommen"; 
</script>

Im folgenden Beispiel wird die Zeichenkette durch Backticks (oder Backquote, deutsch für: rückwärts geneigtes Hochkomma) `Text` begrenzt, dadurch lässt sich innerhalb ein Zeilenumbruch (mit der Tastatur) einfügen.

<script>
document.getElementById("textbereich").value = `Herzlich
Willkommen`;
</script>

Backticks erzeugt man mit der Umschalt + Apostroph-Taste.

PHP

In PHP werden die Steuerzeichen nur ausgeführt, wenn sich das Steuerzeichen innerhalb von doppelten Anführungszeichen befindet.

echo "\tHallo \nWelt!"

Der Tabulator und der Zeilenvorschub werden dann im Quelltext des Browsers angezeigt.

Doppelte Anführungszeichen innerhalb einer Zeichenkette

echo "\"Hallo Welt!\"";
echo '"Hallo Welt!"'; // Alternativ

Variablen innerhalb einer Zeichenkette

echo "blabla \$text blabla";
Gibt diesen Text aus: blabla $text blabla

Zeilenumbruch bei der Ausgabe hinzufügen


<?php

echo "Hallo Welt!\n";

echo 
'Hallo Welt!' "\n";

echo 
'Hallo Welt!' chr(13);

echo 
'Hallo Welt!' PHP_EOL;
?>

Whitespaces bei der Ausgabe entfernen

Die PHP-Funktion trim() entfernt Leerzeichen, Tabulatoren und Zeilenumbrüche am Anfang und Ende einer Zeichenkette.


<?php

$string 
"\n\t Hallo Welt! \r";
var_dump($string);
  
$newstring trim($string);
var_dump($newstring);
// string(16) " Hallo Welt! "
// string(11) "Hallo Welt!"
?>

Einfache oder doppelte Anführungszeichen verwenden?

In PHP sollte man die einfachen Anfürungszeichen bei der Ausgabe von Zeichenketten verwenden (Zeile  5 ) und die doppelten HTML und JavaScript überlassen. Das hat den Vorteil, dass Anfürungszeichen innerhalb einer Zeichenkette nicht maskiert werden müssen, Eingabefehler werden damit vermieden.

Besonders beim Kontextwechsel (HTML-Attribute, mit PHP erzeugter JavaScript- oder CSS-Code) ist es wichtig die Anführungszeichen richtig zu maskieren.

1
2
3
4
5
6
7
8
9
10
<?php
$vorname 
'Reiner';
$nachname "Zufall";

echo 
'<input type="text" name="Name" value="' $vorname ' ' $nachname '" style="width: 200px;">';

echo 
"<input type=\"text\" name=\"Name\" value=\"$vorname $nachname\" style=\"width: 200px;\">";

echo 
'<input type="button" value="Meldung" onclick="alert(\'Hallo Welt!\');">';
?>

Geschützte Zeichen werden mit einem Rückstrich (\) vorangestellt geschrieben.

\'  einfaches Anführungszeichen innerhalb einer Zeichenkette (String)
\"  doppeltes Anführungszeichen innerhalb einer Zeichenkette
\\  Rückstrich (Backslash) innerhalb einer Zeichenkette
\$  Geschütztes Zeichen in PHP
\/  Geschütztes Zeichen in JavaScript