WordPress nutzt zum Formatieren von Texteingaben eine Funktion, welche bestimmte Zeichen (oder Zeichenfolgen) automatisch durch HTML-konformen Code ersetzt. So wird beispielsweise ein doppelter Strich (“–“) standardmäßig in einen langen Gedankenstrich umgewandelt. Da dies besonders bei der Ausgabe von Programm-Code oder Terminalzeilen von Nachteil ist, hier eine kleine Zusammenfassung, wie man dies verhindern kann:
Die Ursache hierfür liegt in der Funktion wptexturize()
der Datei wp-includes/formatting.php
. Hier werden in den Variablen $static_characters
und $dynamic_characters
mit einem Array einige Zeichen festgelegt, welche durch die Inhalte der Variablen $static_replacements
und $dynamic_replacements
ersetzt werden. Zeichen, welche nicht ersetzt werden sollen, sollte man aus diesen Arrays entfernen.
Die genannten Variablen sucht man in der Datei wp-includes/formatting.php
:
$static_characters = array_merge(array('---', ' -- ', ...
$static_replacements = array_merge(array('—', ' — ', ...
$dynamic_characters = array('/(\s|\A|[([{<])"(?!\s)/', ...);
$dynamic_replacements = array('$1' . $opening_quote . '$2', ...);
Zeichen/Zeichenfolgen, welche nicht ersetzt werden sollten, müssen also aus diesen Arrays entfernt werden. Dabei aber beachten, dass dies jeweils in *_characters
und in *_replacements
gleichzeitig geschehen muss, da die zueinander gehörenden variablen sonst unterschiedlich lang sind.
Leave a Reply