Auch Entwickler brauchen Platz zum Spielen

31. Juli 2014 /

WordPress: Inhalt des Pre-Tags in HTML-Code umwandeln

Mit der Vielfalt der auf dem Markt verfügbaren WordPress-Themes unterscheidet sich auch die Art der Einbindung eines nicht für die Ausführung, vielmehr zur Darstellung auf Blogseiten vorgesehenen Quelltext-Ausschnittes. Je nach Vorlieben und dem, welches der genannten HTML-Tags im Stylesheet festgelegt und mit Formatierungen versehen ist, werden Code-Fragmente im Fließtext wahlweise durch <code> oder <pre> deklariert. In manchen Fällen kombiniert der Blogger sogar beiden Tags.

Konvertierung der Sonderzeichen
Wem das Tag pre aus den Sichtpunkten der Ästhetik und Validität gerecht wird, der muss zwangsläufig dafür Sorge tragen, dass hinterlegte Code-Zeilen beim Parsen (sowohl Server- wie Browser-seitig) nicht als ausführbar interpretiert werden. HTML-Entities ist hier das Zauberwort.

Zwei Möglichkeiten stehen zur Wahl: Man erledigt die Maskierung der Daten händisch, beispielsweise mit Suchen&Ersetzen vor dem Einfügen in den Editor (HTML-Entities-Tabelle). Kluges Köpfchen lässt dagegen WordPress diese wiederkehrende Aufgabe brav erledigen.

Unzählige Methoden zur simplen Konvertierung des Codes zwischen gesetzten Pre– und/oder Code-Tags kursieren im Web. An dieser Stelle wird eine, auf den direkten Einsatz in WordPress-Blogs ausgerichtete, Lösung angeregt, die ab WordPress 2.8 ausgezeichnet die Umwandlung der Zeichen übernimmt.

PHP-Code für functions.php

function pre_esc_html($content) {
  return preg_replace_callback(
    '#(<pre.*?>)(.*?)(</pre>)#imsu',
    create_function(
      '$i',
      'return $i[1].esc_html($i[2]).$i[3];'
    ),
    $content
  );
}

add_filter(
  'the_content',
  'pre_esc_html'
);

Nützliche Links:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.