Artikel vom 30. März 2010
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:
[Der Autor] Sergej Müller ist enthusiastischer Software Engineer mit Schwerpunkten Webentwicklung und WordPress. Seit 2007 programmiert und vertreibt er wpSEO, das weltberühmte und patentierte SEO-Plugin für WordPress-Blogs.
WordPress 3.0: Die Sicherheit beginnt beim Anlegen eines Blogs
2 Kommentare zum Artikel
Na wenn das kein Grund ist meine entsprechenden Plugins auf weitere Notwendigkeit zu überprüfen. Danke für den Tipp. ;)
Prima! Wieder ein plugin gespart. Habe noch das CSS angepasst für den tag “pre”, damit der Code nicht mein Design zerschießt.
1 Verlinkung auf den Artikel
› Digital Life – Links des Tages vom 30.03.2010 » cens [...]