Crer son site Gratuitement : Service / Outils webmaster gratuit
Mon Site Gratuit
Contactez nous
Nos partenaires
Scripts
Tutoriaux
Nos services
Forums
Accueil
ForumsBesoin d'afficher du code ?
      Imprimer le sujet FAQ  M'enregistrer 
  Dynamisez facilement votre site internet grace à notre gamme de scripts PHP de toutes sortes créé par nos amis Plug'ziens pour satisfaire vos besoins

Besoin d'afficher du code ?

Messagede Black le 05 Oct 2008, 10:41

Souvent, on veut afficher du code sur sa page web, mais les balises sont automatiquement transformé :-(

La solution : transformer < et > en &lt; et &gt; :oui:
Mais quand vous avez 50 lignes de code à afficher ben bonne chance :lol:

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("&", "&amp;", $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 &lt; &gt; &quot;
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 ;-D Enfin, on remplace le signe & par &amp; 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("&", "&amp;", $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("&", "&amp;", $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 ;-)
Dernière édition par Black le 21 Oct 2008, 19:15, édité 5 fois.
Black
Plug'zien Pro
Plug'zien Pro
 
Messages: 1233
Inscription: 08 Déc 2007, 21:34
Localisation: Cherbourg, France.
Points: 856


Re: Besoin d'afficher du code ?

Messagede jeromecold le 05 Oct 2008, 11:02

Très bonne idée ce code!
Je m'en était fais un similaire (mais un poil plus pointu) pour quand j'avais besoin de convertir mon code quand je faisait le manager!
Arobase plus
Avatar de l'utilisateur
jeromecold
Plug'zien Pro
Plug'zien Pro
 
Messages: 3156
Inscription: 05 Sep 2007, 13:18
Points: 2915


Re: Besoin d'afficher du code ?

Messagede Black le 05 Oct 2008, 11:58

Un poil plus pointu ? Explique :-)
Black
Plug'zien Pro
Plug'zien Pro
 
Messages: 1233
Inscription: 08 Déc 2007, 21:34
Localisation: Cherbourg, France.
Points: 856


Re: Besoin d'afficher du code ?

Messagede jeromecold le 05 Oct 2008, 12:13

Bah par exemple (c'est tout simple à faire ^^), il rendait le code directement dans un textarea pour être modifié sans attendre, y'avait un bouton pour émuler le résultat sur une page...
Voilou!
Arobase plus
Avatar de l'utilisateur
jeromecold
Plug'zien Pro
Plug'zien Pro
 
Messages: 3156
Inscription: 05 Sep 2007, 13:18
Points: 2915


Re: Besoin d'afficher du code ?

Messagede Black le 05 Oct 2008, 12:32

Ah ok :-)
Black
Plug'zien Pro
Plug'zien Pro
 
Messages: 1233
Inscription: 08 Déc 2007, 21:34
Localisation: Cherbourg, France.
Points: 856


Re: Besoin d'afficher du code ?

Messagede Black le 18 Oct 2008, 18:57

J'ai mis à  jour le script. Il est mieux maintenant ;)

Aperçu.
Dernière édition par Black le 18 Oct 2008, 20:40, édité 1 fois.
Black
Plug'zien Pro
Plug'zien Pro
 
Messages: 1233
Inscription: 08 Déc 2007, 21:34
Localisation: Cherbourg, France.
Points: 856


Re: Besoin d'afficher du code ?

Messagede zardoz le 18 Oct 2008, 20:30

Black a écrit:J'ai mis à jour le script. Il est mieux maintenant ;)

Aperçu.


Là vraiment tu m'étonne : Très belle écriture en passant. it's very good : :bravo:
zardoz
Plug'zien Star'z
Plug'zien Star'z
 
Messages: 888
Inscription: 16 Fév 2008, 04:05
Points: 582


Re: Besoin d'afficher du code ?

Messagede Black le 18 Oct 2008, 20:41

Merci Zardoz. Clem, tu comptes le régler quand le problème d'encodage ? ;-D
Black
Plug'zien Pro
Plug'zien Pro
 
Messages: 1233
Inscription: 08 Déc 2007, 21:34
Localisation: Cherbourg, France.
Points: 856


Re: Besoin d'afficher du code ?

Messagede boulledogue le 19 Oct 2008, 08:49

On parlait des fonctions l'autre jour, voici un moyen de modifier le code de Black:

Code: Tout sélectionner
  <p>Entre le code à Convertir :</p>
    <form action="test.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']));
function remplacer($code){
    $code = str_replace("&", "&amp;", $code);
    return $code;}
   echo remplacer($code);
    ?>


Perso je préfère :)
Travaille actuellement sur www.restolity.be
Avatar de l'utilisateur
boulledogue
Modo'z
Modo'z
 
Messages: 2254
Inscription: 16 Mar 2007, 18:26
Localisation: Liège, Belgique
Points: 4455


Re: Besoin d'afficher du code ?

Messagede Black le 19 Oct 2008, 09:03

Je préfère mes 102 caractères à tes 154 caractères :-x

Mais je vais quand même placer ton code dans mon message ;-)
Black
Plug'zien Pro
Plug'zien Pro
 
Messages: 1233
Inscription: 08 Déc 2007, 21:34
Localisation: Cherbourg, France.
Points: 856


Re: Besoin d'afficher du code ?

Messagede zardoz le 20 Oct 2008, 20:23

boulledogue a écrit:On parlait des fonctions l'autre jour, voici un moyen de modifier le code de Black:
Perso je préfère :)


Salut Boulledogue : Puis-je t'offrir une autre façon ?

Code: Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PHP - Conversion</title>
<style type='text/css'>
.fond { background:darkGray; }
</style>
</head>

<body bgColor='#D4D0C8'>
<!-- ** -->
<!-- *************************************************** -->
<!-- ************ Section écrit par Black ************** -->
<!-- *************************************************** -->
<!-- ** -->
<h3>Interface de conversion des caractères spéciaux.</h3>
<form action="code.php" method="post">
<textarea class='fond' name="code" cols="110" rows="15"><?php echo nl2br(htmlspecialchars($_POST['code'])); ?></textarea><br />
<input type="submit" value="Valider"/>
</form>

<?php
$code = nl2br(htmlspecialchars($_POST['code'], ENT_QUOTES));
$code = str_replace("&", "&amp;", $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));
?>
</body>
</html>


Source d'essais ?

<source>
<url id='adresse'>http://www.w3.org/1999/XSL/Transform</url>
</source>

Résultat ?

code0.jpg


J'aime bien la fonction : call_user_func_array( ' nomDeFonction ', array ( $param1, $param2) ) ;

Simple comme approche : Et çà nous laisse entrevoir ce que nous pourrions faire avec les paramètres dans un array ( ).
Essais le si tu le désir ! . C'est pratique disons.

Sacré PHP và. ;-) ++
zardoz
Plug'zien Star'z
Plug'zien Star'z
 
Messages: 888
Inscription: 16 Fév 2008, 04:05
Points: 582


Re: Besoin d'afficher du code ?

Messagede boulledogue le 21 Oct 2008, 07:16

Salut Boulledogue : Puis-je t'offrir une autre façon ?

C'est toujours avec plaisir

Et ben je suis oO je ne connaissais pas du tout, bien joué :bravo: :bravo: :bravo:
Travaille actuellement sur www.restolity.be
Avatar de l'utilisateur
boulledogue
Modo'z
Modo'z
 
Messages: 2254
Inscription: 16 Mar 2007, 18:26
Localisation: Liège, Belgique
Points: 4455


Re: Besoin d'afficher du code ?

Messagede Black le 21 Oct 2008, 11:15

On a de quoi afficher du code rapidement maintenant ;-D
Black
Plug'zien Pro
Plug'zien Pro
 
Messages: 1233
Inscription: 08 Déc 2007, 21:34
Localisation: Cherbourg, France.
Points: 856


Re: Besoin d'afficher du code ?

Messagede pokefort le 04 Jan 2009, 01:19

Merci beaucoup!! C'est très utile!
pokefort
Mini Plug'zien
Mini Plug'zien
 
Messages: 26
Inscription: 08 Jan 2008, 19:31
Points: 4


Re: Besoin d'afficher du code ?

Messagede Daikyoka le 06 Mai 2009, 17:56

De toute manière, les variables envoyées dans $_POST, $_GET, etc.DOIVENT impérativement être protégées avec des fonctions qui empêchent le HTML, le PHPmais aussi le SQL. Cela vous évitera de vous faire pirater votre hébergement avec des techniques facilement mis en place.

Pour cela, si la variable doit être du texte on utilisehtmlspecialchars comme indiqué, avec ENT_QUOTES (ce qui converti lesguillemets, protégeant aussi les commandes SQL).

Si la variable est un nombre entier alors intval($_POST['variable']) doit être utilisé.

Etc. selon le type de variable, toutes les fonctions se trouvent dans la manuel PHP officiel (http://www.php.net) et bien-sûr dans Google. ;)
Daikyoka
Nouveau Plug'zien
Nouveau Plug'zien
 
Messages: 1
Inscription: 06 Mai 2009, 17:54
Points: 3


Suivant

Retourner vers PHP

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité