Apr 29 2008

Sonderzeichen in WordPress nicht ersetzen

Tag: Allgemeines,PHPRonald @ 29. April 2008, 10:22

Was mich seit Anfang an genervt hat, war die automatische (und mittels Admin-Knöpfchen nicht abschaltbare) Sonderzeichenersetzung von WordPress. Selbst “einfache” Anführungszeichen (engl. Quotes) wurden mit den “schönen” Schriftzeichen ersetzt. Das mag für Texte vielleicht ansprechend sein, aber für jemanden wie mich, der viel Code-Schnipsel postet, ist das extrem blöd.

Abschalten kann man diese automatisch Ersetzung, in dem man die Datei

./wp-includes/formatting.php mit einem Editor öffnet. Im oberen Abschnitt befindet sich:

[code lang="php"]
$static_characters = array_merge(array('---', ' -- ', '--', 'xn–', '...', '``', '\'s', '\'\'', ' (tm)'), $cockney);
$static_replacements = array_merge(array('—', ' — ', '–', 'xn--', '…', '“', '’s', '”', ' ™'), $cockneyreplace);

$dynamic_characters = array('/\'(\d\d(?:’|\')?s)/', '/(\s|\A|")\'/', '/(\d+)"/', '/(\d+)\'/', '/(\S)\'([^\'\s])/', '/(\s|\A)"(?!\s)/', '/"(\s|\S|\Z)/', '/\'([\s.]|\Z)/', '/(\d+)x(\d+)/');
$dynamic_replacements = array('’$1','$1‘', '$1″', '$1′', '$1’$2', '$1“$2', '”$1', '’$1', '$1×$2');
[/code]

Diese kann man nun einfach leer neu deklarieren und die ursprünglichen auskommentieren oder löschen. Sieht dann z.B. so aus:

[code lang="php"]
/*
$static_characters = array_merge(array('---', ' -- ', '--', 'xn–', '...', '``', '\'s', '\'\'', ' (tm)'), $cockney);
$static_replacements = array_merge(array('—', ' — ', '–', 'xn--', '…', '“', '’s', '”', ' ™'), $cockneyreplace);*/
/*
$dynamic_characters = array('/\'(\d\d(?:’|\')?s)/', '/(\s|\A|")\'/', '/(\d+)"/', '/(\d+)\'/', '/(\S)\'([^\'\s])/', '/(\s|\A)"(?!\s)/', '/"(\s|\S|\Z)/', '/\'([\s.]|\Z)/', '/(\d+)x(\d+)/');
$dynamic_replacements = array('’$1','$1‘', '$1″', '$1′', '$1’$2', '$1“$2', '”$1', '’$1', '$1×$2');*/

$static_characters = array();
$static_replacements = array();
$dynamic_characters = array();
$dynamic_replacements = array();
[/code]

Wer möchte, kann sich da natürlich auch nur bestimmte Zeichen raussuchen und entfernen. Ich für meinen Teil bin aber sehr froh, dass nun alle Zeichen “normal” in meinen Beiträgen erscheinen. ;-)

Dein Kommentar