Listing du fichier ncis_res_sol.php avec syntaxhighlighter
<?php # (gH) -_- ncis_res_sol.php ; TimeStamp (unix) : 31 Mars 2013 vers 11:09 error_reporting(E_ALL | E_NOTICE | E_STRICT) ; include("std.php") ; debutPage("Aidons Abby","strict") ; debutSection() ; ############################################################################################# function chiffreRepete($desChiffres) { #------------------------------------- # on passe les chiffres en revue # et on cumule les occurrences # on sort de la boucle dès qu'on voit un chiffre pour la deuxième fois # grace à return $lng = strlen($desChiffres) ; $cnt = array() ; $idc = 0 ; # idc = indice de chiffre while ($idc<$lng) { $chif = substr($desChiffres,$idc,1) ; if (!isset($cnt[$chif])) { $cnt[$chif] = 1 ; } else { return( TRUE ) ; # mieux que $cnt[chif]++ ; if ($cnt[$idc]>1) { ... } ; # finsi $idc++ ; } ; # fin tant que # si on arrive ici, c'est qu'aucun chiffre n'était répété return( FALSE ) ; } # fin de fonction chiffreRepete function alternancePairImpair($quatreChiffres) { #----------------------------------------------- return( preg_match("/[02468][13579][02468][13579]/",$quatreChiffres) ) ; # que pensez-vous de ## return( preg_match("/[[02468][13579]]{2}/",$quatreChiffres) ) ; } # fin de fonction alternancePairImpair ############################################################################################# h1("Aidons Abby à trouver les suspects") ; # testons si un numéro de plaque a été fourni $plaque = "???" ; if (isset($_GET["plaque"])) { $plaque = trim($_GET["plaque"]) ; } ; # finsi if (($plaque=="???") or ($plaque=="")) { h2("Vous n'avez pas transmis de numéro de plaque, dommage pour Abby.","grouge") ; pvide() ; p() ; echo href("montresource.php?nomfic=ncis_res_sol.php","Code-source PHP de cette page","orange_stim nou")."." ; finp() ; finSection() ; finPage() ; exit() ; } ; # finsi blockquote() ; h2("Voici le numéro de plaque que vous avez transmis : ".s_span($plaque,"gvertf"),"grouge") ; blockquote() ; # s'il y a de 1 à 4 chiffres, un espace, deux lettres, un espace et deux chiffres, c'est bien # un numéro de suspect if (!preg_match("/^[0-9]{1,4} [A-Za-z]{2} [0-9]{2}\$/",$plaque)) { h3("Il ne s'agit pas du numéro d'un suspect.") ; } else { h3("Il s'agit bien du numéro d'un suspect.") ; # suspect Ari = que des consonnes preg_match("/[A-Za-z]{2}/",$plaque,$trouve) ; # noter qu'il n'y a plus ^ ni $ $lesLettres = strtoupper($trouve[0]) ; if (!preg_match("/[AEIOUY]/",$lesLettres)) { # mais pas preg_match("/[^AEIOUY]/",$lesLettres) p() ; echo " A cause des consonnes, ce pourrait bien être Ari Haswari." ; finp() ; } # fin si # suspect tueur de port en port = un chiffre répété (avant ou après les lettres) preg_match_all("/[0-9]+/",$plaque,$chiffres) ; $chiffresAvant = $chiffres[0][0] ; $chiffresApres = $chiffres[0][1] ; if (chiffreRepete($chiffresAvant.$chiffresApres)) { p() ; echo " A cause de chiffre(s) répété(s), ce pourrait bien être le tueur de port en port." ; finp() ; } # fin si # suspect la grenouille = 4 chifres exactement avant les lettres avec alternance pair/impair if (preg_match("/[0-9]{4}/",$plaque,$chiffres)) { if (alternancePairImpair($chiffres[0])) { p() ; echo " A cause des 4 chiffre(s) en alternance pair/impair, ce pourrait bien être \"la Grenouille\"." ; finp() ; } # fin si } # fin si } # fin si finblockquote() ; finblockquote() ; ############################################################################################# pvide() ; p() ; echo href("montresource.php?nomfic=ncis_res_sol.php","Code-source PHP de cette page","orange_stim nou")."." ; finp() ; finSection() ; finPage() ; ?>La coloration syntaxique est réalisée par : SyntaxHighlighter.
Si vous préférez, vous pouvez utiliser celle de geshi ou même celle construite autour de la fonction highlight_file.
Retour à la page principale de (gH)