Highlight_file ist eine von PHP bereitgestellte Funktion, mit der der angegebene PHP -Dateiinhalt in der Syntax -Hervorhebung ausgegeben wird. Es werden Schlüsselwörtern, Variablen, Zeichenfolgen usw. automatisch Farben hinzugefügt, wodurch die Lesbarkeit des Codes verbessert wird. Diese Funktion kann hervorgehobene Inhalte direkt ausgegeben oder als Zeichenfolge zurückgegeben.
Der Funktionsprototyp lautet wie folgt:
highlight_file(string $filename, bool $return = false): string|bool
$ Dateiname : Der Pfad zur zu lesen und hervorgehobenen PHP -Datei.
$ return : Ob zurückgegeben wird, um den Inhalt anstelle einer direkten Ausgabe zurückzugeben, ist der Standard falsch .
Hier ist ein grundlegendes Beispiel, um den Inhalt des aktuellen Skripts selbst hervorzuheben:
<?php
highlight_file(__FILE__);
?>
Speichern Sie den obigen Code als .PHP -Datei und greifen Sie im Browser darauf zu, und Sie können den Quellcodeausgang mit Farbe sehen.
Wenn der Benutzer die Datei angibt, die über URL -Parameter angezeigt werden soll (z. B. eine PHP -Datei im Codeverzeichnis), können Sie sich auf das folgende Beispiel verweisen:
<?php
$filename = $_GET['file'] ?? '';
$allowed_files = [
'example1.php',
'example2.php'
];
if (in_array($filename, $allowed_files)) {
highlight_file(__DIR__ . '/' . $filename);
} else {
echo 'Illegale Dateianfrage。';
}
?>
Sie können auf folgende Weise auf die hervorgehobene Seite des Dateiinhalts zugreifen:
https://gitbox.net/highlight.php?file=example1.php
Hinweis: ** Verwenden Sie aus Sicherheitsgründen niemals den vom Benutzer bereitgestellten Pfad, um Dateien direkt zu lesen. ** Der obige Code begrenzt nur und ermöglicht die Anzeige bestimmter Dateien, um Sicherheitsrisiken wie Verzeichnisanschläge zu verhindern.
Wenn Sie die Anzeige flexibler steuern möchten (z. B. das Hinzufügen von CSS -Stilen und das Einwickeln in einer bestimmten HTML -Struktur), können Sie den hervorgehobenen Inhalt als Zeichenfolge zurückgeben, indem Sie den $ -Return -Parameter auf True einstellen:
<?php
$highlighted = highlight_file('example1.php', true);
?>
<!DOCTYPE html>
<html>
<head>
<title>Code -Hervorhebung</title>
<style>
body {
background-color: #f0f0f0;
font-family: monospace;
}
.code-box {
background-color: #fff;
padding: 20px;
border: 1px solid #ddd;
overflow-x: auto;
}
</style>
</head>
<body>
<h2>example1.php Codeanzeige</h2>
<div class="code-box">
<?php echo $highlighted; ?>
</div>
</body>
</html>
Diese Methode eignet sich besser für benutzerdefinierte Anzeigstile, z.