01net    Web


Actuellement en ligne : 128 Utilisateurs dont 4 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > PHP
> souci de syntax pour mettre des codes coloré
Auteur
Message
 
<     1       >
tete_de_neuneu
  
   
      ?   @     Posté le 23/05/2008 15:45:39  
Voter pour ce message
bonjour j'ai un souci avec le tuto geschi pour mettre des codes dans un block

voilà la page :

http://le.coffre.free.fr/forum/poster.php?action=nouveautopic&f=6

donc il sélectionne dans le select s'il veut mettre php css etc..

<select title="code" name="code" onchange="javascript: bbcode('<' + this.value + '>','</code>'); this.selectedIndex = 0;">
<option style="font-weight: bold;" class="code_titre" selected="selected">Code</option>
<option value="code type= html">HTML</option>
<option value="code type= javascript">JavaScript</option>
<option value="code type= php">PHP</option>
<option value="code type= sql">SQL</option>
<option value="code type= css">CSS</option>
</select>


donc il met leur code

mais dans les messages posté c'est là où ça bloque

http://le.coffre.free.fr/forum/voirforum.php?f=6

si on prend chaque page des messages posté

http://le.coffre.free.fr/forum/voirtopic.php?t=55

http://le.coffre.free.fr/forum/voirtopic.php?t=56

http://le.coffre.free.fr/forum/voirtopic.php?t=57

http://le.coffre.free.fr/forum/voirtopic.php?t=58

http://le.coffre.free.fr/forum/voirtopic.php?t=59

http://le.coffre.free.fr/forum/voirtopic.php?t=62

on peut voir le cadre avec des couleurs

mais le souci si on met bonjour il met le mot dans le cadre je ne sais pas pour quoi par exemple il y as code : php mais il est dans le cadre et je voudrais qu'il sois pas dans le cadre et je voudrais mettre en haut du cadre

et le 2 éme souci il met a chaque fin de ligne <br /> comment faire pour enlenvé le code br /

et ensuite l'autre souci j'ai voulu mettre 2 code dans un message mais il n'a fait qu'un block il m'a supprimé l'autre code

et aussi il n'a pas voulu les coloré les codes pour dire que c'est du css où html etc...je ne sais pas où ça coince

donc voilà les code que j'ai mis

voirtopic.php

// Détails sur le membre qui a posté

echo'<tr><td>
<img src="images/messages/avatars/'.$data2['membre_avatar'].'" alt="" />
<br />Membre inscrit le '.date('d/m/Y',$data2['membre_inscrit']).'
<br />Messages : '.$data2['membre_post'].'<br />
Localisation : '.$data2['membre_localisation'].'</td>';

echo'<td>';

// la méthode de geshi
/*
if ($matches[1] == "html"){
$matches[1] = "html4strict"; }
$geshi = new GeSHi($matches[2], $matches[1]);
echo $matches[2]."__";
echo $matches[1];
if ($matches[1] == "html4strict"){
echo '<div id="geshi"><strong>Code HTML:</strong><div class="code">'.code($data2['post_texte']).'</div></div>';
}
else {
echo '<div id="geshi"><strong>Code '.$matches[1].':</strong><div class="code">'.code($data2['post_texte']).'</div></div>';
}
*/

echo '<div id="geshi">'.code($data2['post_texte']).'</div>';

// Message

//echo code($data2['post_texte']);
if (!empty($data2['membre_signature']))
echo '<br /><hr />'.code($data2['membre_signature']);
echo'</td></tr>';
} // Fin de la boucle ! \o/

?>


et dans bbcode.php

<?php

function code($texte)
{

// Mise en forme du Message posté
//BBcode pour afficher des codes pour coloriser
$texte = html_entity_decode($texte);

//$texte = preg_replace('`<(.+)>`isU', '<$1>', $texte);

function ParsageGeSHi($matches)
{
include_once('geshi/geshi.php'); // Inclure la librairie GeSHi

# Liste des langages
$ListeType = array(
'html' => 'HTML',
'javascript' => 'JavaScript',
'php' => 'PHP',
'sql' => 'SQL',
'css' => 'CSS',

);

if (!array_key_exists($matches[1], $ListeType))
$TypeCode = '';
else
$TypeCode = $matches[1];

$Type = $ListeType[$TypeCode];

# Coloration
$geshi = new GeSHi($matches[2], $TypeCode);
$geshi->set_header_type(GESHI_HEADER_NONE);

$CodeParse = $geshi->parse_code();
$CodeParse = str_replace(chr(10), '', $CodeParse); // Pour supprimer les retour à la ligne en trop
//DEBUT'.$matches[1].'MILIEU'.$matches[2].'FIN
return '<span class="code"><strong>Code : ' . $Type . '</strong></span><div class="code2">' . $CodeParse . '</div>';
}

//$texte = preg_replace_callback('#<code type= (.+)>(.+)</code>#isU', 'ParsageGeSHi', $texte);
$texte = preg_replace_callback('#\<code type= (.+)\>(.+)\</code\>#isU', 'ParsageGeSHi', $texte);
?>


et bien entendu j'ai mis ça en haut de la page :

include_once('geshi/geshi.php'); // Inclure la librairie GeSHi


je ne sais pas pour quoi les codes ne sont pas coloré sauf pour le php

et si on met 2 code dans 2 balises différent il ne fait qu'une balise

et l'autre il faut supprimé tout les <br /> a chaque lignes

et aussi pour quoi si on met un texte non dans les balises il met le texte dans le cadre où est le code

voir les résultats

donc si quelqu'un pourrais voir où est l'érreur et voir comment faire un bo cadre ouù ils sont les codes en sachant que j'ai mis dans mon css :

#geshi
{
border:1px dashed #FFFFFF; /* couleur du cadre */
margin-left:40px;
margin-right:40px;
color:#FFFFFF;
padding:0.2em;
overflow-y:auto;
overflow:auto;
display:block;
}


merci d'avance de votre aide de m'aidé à faire fonctionné ces 4 codes php,css,html,javasscript,sql avec les couleurs

si vous voulez avoir une autre page où un autre code n'hésitez pas à me le dire
Pc_expert_3
  
   
      ?   @     Posté le 23/05/2008 17:33:43  
Voter pour ce message
Tu y tiens vraiment à ta lib GeSHI ?
-------
Fils d'Albanel, va !
tete_de_neuneu
  
   
      ?   @     Posté le 23/05/2008 18:51:31  
Voter pour ce message
oui et non

mais j'aimerais bien mettre un code php où css sql ou javasscript

dans un cadre et un blok comme cette image


< inclued picture >

où plus précisement comme ça

< inclued picture >

mais sans le scrollbar en bas juste à gauche

et aussi mettre les couleurs approprié si c'est du php c'est du rouge et javasscript c'est du gris etc...

donc j'ai trouvé cette librairie GeSHI

merci
-->Message édité par tete_de_neuneu le 23/05/2008 19:08:09<--
Pc_expert_3
  
   
      ?   @     Posté le 23/05/2008 22:39:21  
Voter pour ce message
Ben de simples regexp permettent de le faire sans GeSHI... Ensuite des replace pour appliquer la couleur aux mots-clés des langages et puis voilà...

Parce que l'arch' de GeSHI il faut la connaître, et pour y aller débugguer là-dedans, bon courage ^^
-------
Fils d'Albanel, va !
<     1       >

01net > Forum de 01net > Programmation et développement > PHP
> souci de syntax pour mettre des codes coloré

Aller à :

Page générée en : 0.061s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Nouveau
Découvrez le nouveau Nero : créez, extrayez, gravez, copiez et partagez en toute simplicité.
Trucs & Astuces
Bots, Splogs, Smishing : halte aux nouveaux dangers du Web - Découvrez nos conseils