La solution : transformer < et > en < et >
Mais quand vous avez 50 lignes de code à afficher ben bonne chance
La solution ? Faire appel à PHP, de plus, une ligne de code suffit pour le faire automatiquement
Le code :
- Code: Tout sélectionner
<p>Entre le code à Convertir :</p>
<form action="code.php" method="post">
<textarea name="code" cols="110" rows="15"><?php echo nl2br(htmlspecialchars($_POST['code'])); ?></textarea><br />
<input type="submit" value="Valider"/>
</form>
<p><u>Code Converti :</u></p>
<code>
<?php
$code = nl2br(htmlspecialchars($_POST['code']));
$code = str_replace("&", "&", $code);
echo $code;
?>
</code>
Explication :
Le script fonctionne très simplement, on demande simplement à l'utilisateur d'entrer son code source. Puis, on l'écrit, en ajoutant la fonction htmlspecialchars qui converti automatiquement <, >, " en < > "
Ensuite, un nl2br permet d'afficher le texte normalement, avec les sauts de lignes, afin de ne pas avoir un bout de code tout moche illisible
Enfin, on remplace le signe & par & afin de pouvoir l'afficher sur la page web, et donc d'afficher les caractères convertis
Vous pouvez aussi utiliser une fonction(proposé par Boulledogue :
- Code: Tout sélectionner
$code = nl2br(htmlspecialchars($_POST['code']));
function remplacer($code)
{
$code = str_replace("&", "&", $code);
return $code;
}
echo remplacer($code);
Ou encore celui de zardoz :
- Code: Tout sélectionner
<?php
$code = nl2br(htmlspecialchars($_POST['code'], ENT_QUOTES));
$code = str_replace("&", "&", $code);
// ..
# ****************************************************** #
# ************* Section écrit par Zardoz *************** #
# ****************************************************** #
// ..
function affiche($code, $message)
{
// ..
if (function_exists('affiche') && $code)
{
print "<h3><u>Résultat de la conversion :</u></h3><i>{$code}</i><br>";
$message = "Évaluation Terminé";
print "<h3><b><em>{$message}</em></b></h3>";
}
else
{
$message = "Entrer un code dans la zone de texte";
print "<h3><b><em>{$message}</em></b></h3>";
}
}
// ..
call_user_func_array('affiche', array($code, $message));
?>
Aperçu :
Vous pouvez voir un aperçu du script ici












