1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
<?PHP
include("connexionBDD.txt");
$sql = "SELECT * FROM tutoriel WHERE langage='csharp' AND numTuto=$num";
$reponse = mysql_query($sql) OR DIE ("ERREUR : ".mysql_error()." <br /> sur la requete : <br /> $sql");
while ( $donnees = mysql_fetch_array($reponse))
{
?>
<fieldset>
<legend> <?PHP echo strtoupper($donnees['chapitre']); ?> </legend>
<?PHP
$texte = $donnees['contenu'];
$chaine = $texte;
// je regarde ou est le mot code
$pos = strpos($chaine, "[ code ]");
if ($TabFich = file("CSharp.txt"))
{
//je dis tant qu'il ya un [ code ] je fais :
while($pos != false)
{
// je récupère l'index du début du code
$indexD = strpos($texte,"[ code ]");
// je récupère l'index de fin du code
$indexF = strpos($texte,"[/ code ]") + 7;
// je récupère une sous chaine ne contenant que le code
$chaine = substr($texte, $indexD, ($indexF-$indexD));
$chaine = str_replace("[ code ]", "<table border=\"0\" width=\"80%\" align=\"center\" ><tr bgcolor=\"#FFFFFF\"> <td><font size=\"2\" face=\"Verdana\" color=\"#007F0E\"><b> Code C#: </b></font> </td> </tr><tr bgcolor=\"#D1FFC9\"><td><font size=\"2\" face=\"Verdana\" color=\"#000000\">",$chaine);
$chaine = str_replace("[/ code ]", "</td></tr></table>",$chaine);
// là j essaye de récupérer le mot
$j=0;
while ($j < strlen($chaine))
{
$mot="";
// tant que j < mon code && que le caractére à l indice j est un espace je passe au suivant
while($j < strlen($chaine) && substr($chaine, $j, 1) == " ")
{
$j++;
}
// tant qu'il y a des caracteres dans ma chaine je le mets dans mot
while(substr($chaine, $j, 1) != " ")
{
$mot.= substr($chaine, $j, 1);
$j++;
}
// je ressors avec un mot
for($i = 0; $i < count($TabFich); $i++)
{
// je regarde si le mot que je récupère est égal au mot de mon fichier
if ( $mot == Trim($TabFich[$i]))
{
$m = $j;
// la je remplace le mot dans la chaine par ts des vides ( il n'y a pas de fonctions remove?)
for($k = 0; $k < strlen($mot); $k++)
{
$chaine = substr_replace($chaine,"", $m);
$m++;
}
// je mets le mot avec la colorisation syntaxique adéquate
$chaine = substr_replace($chaine,"<font size=\"2\" face=\"Verdana\" color=\"#005DFF\">".Trim($TabFich[$i])."</font>", $j);
}
}
$j++;
}
// quand j ai fini je remplace la partie contenant mon code par mes modifications
$partieTexte = substr($texte, $indexD, $indexF-$indexD);
$texte = str_replace($partieTexte, $chaine, $texte);
// je passe au code suivant
$pos = strpos($texte, "[ code ]");
}
}
echo $texte;
?>
</fieldset>
<?PHP
}
mysql_close();
?> |
Partager