phpstring - Highlighter für Code
Für Seiten, die mit PHP-Unterstützung angezeigt werden, kann ein in PHP integrierter „Highlighter“ den Code „aufhübschen“. Mit einem Kunstgriff kann damit neben dem originär nur für PHP-Code vorgesehen Konzept gleichermaßen Javascript, u.a. farbig strukturiert werden.
Aufruf
[phpstring thefile "isphp=true" "isstring=false"]
- Parameter
-
thefile
Das ist wahlweise ein rootbasierter Pfad zu einer Datei oder eine Zeichenkette.
- isphp
-
- „true“ (default): es wird ein PHP-Code übergeben.
- „false“: Die Datei (z.B. Java-Script) oder die Zeichenkette wird vom Modul temporär mit PHP-Klammern versehen (s.u.), was zu einer (überraschend brauchbaren) Auszeichnung führt.
- isstring
-
- „false“ (default): Es wird ein Dateipfad übergeben
- „true“ Es wird eine Zeichenkette übergeben
Übergebene Text-Zeilen müssen „escaped“ werden, andernfalls bricht das Skript die Darstellung der Seite mit einer Fehlermeldung ab:
- Rechteckige klammern (sonst endet das Modul…) mit
[
bzw.]
- Unterstriche mit
_
- Hochkommata mit
\´´
(´´ fürOSE , der Backslash für PHP) - Zeilenumbrüche können mit
\n
erzeugt werden.
Der Modul-Code
Stand: 21.10.2022
phpstring "thefile=" "isphp=true" "isstring=false"
<div class="mycode">
<?php
$in = "§§§thefile§§§";
if (!§§§isstring§§§) {
$html = file_get_contents($_SERVER["DOCUMENT_ROOT"] . $in);
} else {
$html = $in;
}
if (!§§§isphp§§§) {
$html = str_replace(array('$','[',']','_'),array('$','[',']','_'),$html);
$html = highlight_string('<?php ' . $html . '?>',true);
$html = str_replace(array('\n','<?php ','?>'),array('<br/>','',''),$html);
}
else {
$html = highlight_string($html,true);
}
echo $html;
?>
</div>
Mit der im Modul eingefügten Klasse „mycode“ wird die Präsentation des Code-Bereichs gesteuert. Der PHP-Highligher fügt von sich aus HTML-Code ein, auf den das abgestimmt werden muss.