Nouveau sujet Répondre Imprimer Syndication RSS 2.0

coloration synthaxique du php...

Flamme ardente
Avatar de bthivent
  • Age : 23 ans
  • Messages : 440
  • Inscrit : 27 Novembre 2004
  Lien vers ce message 06 Décembre 2004, 21:53

Reprise du dernier message

ben on peut pas car les <font> sont générés par la fonction highlight_string()
ce qu'il fautdrait c'est changer ca (icecold.css)

td.fscode_php_titre { background-image: url("images/td_php_titre.gif"); font-weight: bold; height: 25px; border: solid 1px #000000; border-width: 0px 0px 1px 0px; }
td.fscode_php { background-color: #E3D7AA; font-family: Courier, 'Courier New', sans-serif; font-size: 11px; }


en enlevant peut-être le td.fscode_php et ensuite dans configuration_theme.php changer
$theme['fscode_php'] = '<br /><br /><table class="tableau" style="width: %s;" align="center" cellspacing="0" cellpadding="3"><tr><td class="fscode_php_titre">%s</td></tr><tr><td class="fscode_php">%s</td></tr></table><br />';

par
$theme['fscode_php'] = '<br /><br /><table class="tableau" style="width: %s;" align="center" cellspacing="0" cellpadding="3"><tr><td class="fscode_php_titre">%s</td></tr><tr><td bgcolor="#E3D7AA">%s</td></tr></table><br />';


?? :O


bthivent
Téléchargez Greyline theme V2
 
Flamme ardente
Avatar de bthivent
  • Age : 23 ans
  • Messages : 440
  • Inscrit : 27 Novembre 2004
  Lien vers ce message 06 Décembre 2004, 22:05
ou loars j'ai trouvé mieux plutà´t que de faire ça :
<?php

function xhtml_highlight($str) {
   $str = highlight_string($str, true);
   //replace <code><font color=""></font></code>
   $str = preg_replace('#<font color="([^\']*)">([^\']*)</font>#', '<span style="color: \\1">\\2</span>', $str);
   //replace other <font> elements
   return preg_replace('#<font color="([^\']*)">([^\']*)</font>#U', '<span style="color: \\1">\\2</span>', $str);
}

?> 



ca deonnerai simplement :
remplacer
function fscode_php($texte)
{
	global $langue, $theme;

	return sprintf($theme['fscode_php'], '90%', $langue['php'], $texte);
}


par

function fscode_php($texte)
{
	global $langue, $theme;

	$texte = preg_replace('#<font color="([^\']*)">([^\']*)</font>#', '<span style="color: \\1">\\2</span>', $texte);

	return sprintf($theme['fscode_php'], '90%', $langue['php'], $texte);
}


bonne idée Génova ;)


bthivent
Téléchargez Greyline theme V2
 
Flamme ardente
Avatar de bthivent
  • Age : 23 ans
  • Messages : 440
  • Inscrit : 27 Novembre 2004
  Lien vers ce message 06 Décembre 2004, 22:10
http://www.skatefr.com/mods%20fsb/fscode_php_0.0.2.zip
voilà le zip mis à jour


bthivent
Téléchargez Greyline theme V2
 
Etoile
Avatar de StyphaX
  • Age : 23 ans
  • Messages : 2666
  • Inscrit : 09 Octobre 2004
  Lien vers ce message 06 Décembre 2004, 22:18
Moi ça me rend ça:

Citation
<?php echo 'Hello, world !' ?>


Ca colore que la dernière balise :s
 
Flamme ardente
Avatar de bthivent
  • Age : 23 ans
  • Messages : 440
  • Inscrit : 27 Novembre 2004
  Lien vers ce message 06 Décembre 2004, 22:23
gloups :'(
j'en peu plus :froid:


bthivent
Téléchargez Greyline theme V2
 
Flamme ardente
Avatar de bthivent
  • Age : 23 ans
  • Messages : 440
  • Inscrit : 27 Novembre 2004
  Lien vers ce message 06 Décembre 2004, 22:30
tu pourrai montrer la source que tu obtient stp ?


bthivent
Téléchargez Greyline theme V2
 
Etoile
Avatar de StyphaX
  • Age : 23 ans
  • Messages : 2666
  • Inscrit : 09 Octobre 2004
  Lien vers ce message 06 Décembre 2004, 22:32
<td class="td_message_sujet" colspan="3" align="left" valign="top"><br /><br /><br /><table class="tableau" style="width: 90%;" align="center" cellspacing="0" cellpadding="3"><tr><td class="fscode_php_titre">Code php</td></tr><tr><td class="fscode_php"><code><span style="color: #000000">
<font color="#0000BB">&lt;?php </font><font color="#007700">echo </span><font color="#DD0000">'Hello, world !' </font><span style="color: #0000BB">?&gt;</font>
 
Chef du projet FSB
Avatar de Genova
  • Age : 26 ans
  • Messages : 14944
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 06 Décembre 2004, 22:39
Essai de mettre plutot ca:
$texte = preg_replace('#<font color="([0-9A-Za-z\#){1,6}">#', '<span style="color: \\1">', $texte);
$texte = preg_replace('#</font>#', '</span>', $texte);


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Etoile
Avatar de StyphaX
  • Age : 23 ans
  • Messages : 2666
  • Inscrit : 09 Octobre 2004
  Lien vers ce message 06 Décembre 2004, 22:43
EN emttant ça tu as une erreur:

Warning: Compilation failed: missing terminating ] for character class at offset 34 in /home/fsbsup/web/test/includes/functions/fonctions_message.php on line 251


Et plus rien ne s'affiche dans le tableau de code...lol :mdr:
 
Chef du projet FSB
Avatar de Genova
  • Age : 26 ans
  • Messages : 14944
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 06 Décembre 2004, 22:46
Remplace par
$texte = preg_replace('#<font color="([0-9A-Za-z\#]{1,6})">#', '<span style="color: \\1">', $texte);
$texte = preg_replace('#</font>#', '</span>', $texte);

plutot


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Etoile
Avatar de StyphaX
  • Age : 23 ans
  • Messages : 2666
  • Inscrit : 09 Octobre 2004
  Lien vers ce message 06 Décembre 2004, 22:47
Loool

Désormais, plus d'erreur mais rien n'est coloré non plus! :mdr:
 
Chef du projet FSB
Avatar de Genova
  • Age : 26 ans
  • Messages : 14944
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 06 Décembre 2004, 22:53
Et la source elle donne quoi?


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Etoile
Avatar de StyphaX
  • Age : 23 ans
  • Messages : 2666
  • Inscrit : 09 Octobre 2004
  Lien vers ce message 06 Décembre 2004, 22:55
Voila:

<td class="td_message_sujet" colspan="3" align="left" valign="top"><br /><br /><br /><table class="tableau" style="width: 90%;" align="center" cellspacing="0" cellpadding="3"><tr><td class="fscode_php_titre">Code php</td></tr><tr><td class="fscode_php"><code><font color="#000000">
<font color="#0000BB">&lt;?php </span><font color="#007700">echo </span><font color="#DD0000">'Hello, world !' </span><font color="#0000BB">?&gt;</span>
 
Chef du projet FSB
Avatar de Genova
  • Age : 26 ans
  • Messages : 14944
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 06 Décembre 2004, 23:02
Met ca plutot:
$texte = preg_replace('#<font color="([0-9A-Za-z\#]{1,7})">#', '<span style="color: \\1">', $texte);
$texte = preg_replace('#</font>#', '</span>', $texte);

:lol:


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Etoile
Avatar de StyphaX
  • Age : 23 ans
  • Messages : 2666
  • Inscrit : 09 Octobre 2004
  Lien vers ce message 06 Décembre 2004, 23:03
Impécable ;)

<?php echo 'Hello, world !' ?>
 
Etoile
Avatar de StyphaX
  • Age : 23 ans
  • Messages : 2666
  • Inscrit : 09 Octobre 2004
  Lien vers ce message 07 Décembre 2004, 8:07
Superbe exemple^^

http://test.fsbsupport.ouba.com/sujet.php?message=3#3

;) Par contre l' orange sur la couleur de fond du tableau c'est pas génial... :s
 
Répondre


.