Highlight_file est une fonction fournie par PHP, qui est utilisée pour sortir le contenu de fichier PHP spécifié dans la mise en surbrillance de la syntaxe. Il ajoutera automatiquement des couleurs aux mots clés, aux variables, aux chaînes, etc., améliorant ainsi la lisibilité du code. Cette fonction peut sortir directement le contenu en surbrillance ou choisir de le renvoyer sous forme de chaîne.
Le prototype de fonction est le suivant:
highlight_file(string $filename, bool $return = false): string|bool
$ nom de fichier : le chemin du fichier PHP à lire et à mettre en surbrillance.
$ return : Que ce soit pour retourner le contenu en surbrillance au lieu de la sortie directe, la valeur par défaut est fausse .
Voici un exemple de base pour mettre en évidence le contenu du script actuel lui-même:
<?php
highlight_file(__FILE__);
?>
Enregistrez le code ci-dessus en tant que fichier .php et accédez-y dans le navigateur, et vous pouvez voir la sortie du code source avec la couleur.
Si vous souhaitez que l'utilisateur spécifie le fichier pour afficher via des paramètres URL (tels qu'un fichier PHP dans le répertoire de code), vous pouvez vous référer à l'exemple suivant:
<?php
$filename = $_GET['file'] ?? '';
$allowed_files = [
'example1.php',
'example2.php'
];
if (in_array($filename, $allowed_files)) {
highlight_file(__DIR__ . '/' . $filename);
} else {
echo 'Demande de fichier illégal。';
}
?>
Vous pouvez accéder à la page en surbrillance du contenu du fichier de la manière suivante:
https://gitbox.net/highlight.php?file=example1.php
Remarque: ** Pour des raisons de sécurité, n'utilisez jamais le chemin fourni par l'utilisateur pour lire directement les fichiers. ** Le code ci-dessus limite uniquement, permettant la visualisation de fichiers spécifiques pour empêcher les risques de sécurité tels que les attaques de traversée de répertoires.
Si vous souhaitez contrôler l'affichage de manière plus flexible (comme l'ajout de styles CSS et les envelopper dans une structure HTML spécifique), vous pouvez retourner le contenu en surbrillance en tant que chaîne en définissant le paramètre $ return vers True :
<?php
$highlighted = highlight_file('example1.php', true);
?>
<!DOCTYPE html>
<html>
<head>
<title>Code de mise en évidence</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 Affichage du code</h2>
<div class="code-box">
<?php echo $highlighted; ?>
</div>
</body>
</html>
Cette méthode est plus adaptée aux styles d'affichage personnalisés, tels que la combinaison de cadres frontaux, l'embellissement de la composition, etc.