WordPress: ersetzen von Zeichen im Editor verhindern (z.B. “–“)

Written by

in

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.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *