Valid XHTML     Valid CSS2    

Listing du fichier ncis_res_sol.php

 

00001     <?php
00002     
00003     #    (gH)   -_-  ncis_res_sol.php  ;  TimeStamp (unix) : 31 Mars 2013 vers 11:09
00004     
00005     error_reporting
(E_ALL E_NOTICE E_STRICT) ;
00006     include("std.php"
) ;
00007     debutPage
("Aidons Abby","strict") ;
00008     debutSection
() ;
00009     
00010     #############################################################################################
00011     
00012     function 
chiffreRepete($desChiffres) {
00013     #-------------------------------------
00014     
00015       # on passe les chiffres en revue
00016       # et on cumule les occurrences
00017       # on sort de la boucle dès qu'on voit un chiffre pour la deuxième fois
00018       # grace à return
00019     
00020       $lng 
strlen($desChiffres) ;
00021       $cnt 
= array() ;
00022       $idc 
# idc = indice de chiffre
00023       while (
$idc<$lng) {
00024         $chif 
substr($desChiffres,$idc,1) ;
00025         if (!isset($cnt
[$chif])) {
00026           $cnt
[$chif] = ;
00027         } else {
00028           return( TRUE 
) ; # mieux que $cnt[chif]++ ; if ($cnt[$idc]>1) { ...
00029         } ; 
# finsi
00030         $idc
++ ;
00031       } ; # fin tant que
00032     
00033       # si on arrive ici, c'est qu'aucun chiffre n'était répété
00034     
00035       return( 
FALSE ) ;
00036     
00037     } # fin de fonction chiffreRepete
00038     
00039     function 
alternancePairImpair($quatreChiffres) {
00040     #-----------------------------------------------
00041     
00042       return( 
preg_match("/[02468][13579][02468][13579]/",$quatreChiffres) ) ;
00043       # que pensez-vous de
00044       ## return( preg_match("/[[02468][13579]]{2}/",$quatreChiffres) ) ;
00045     
00046     
# fin de fonction alternancePairImpair
00047     
00048     #############################################################################################
00049     
00050     h1
("Aidons Abby à trouver les suspects") ;
00051     
00052     # testons si un numéro de plaque a été fourni
00053     
00054     $plaque 
"???" ;
00055     if (isset($_GET
["plaque"])) {
00056        $plaque 
trim($_GET["plaque"]) ;
00057     } ; # finsi
00058     
00059     if ((
$plaque=="???") or ($plaque=="")) {
00060        h2
("Vous n'avez pas transmis de numéro de plaque, dommage pour Abby.","grouge") ;
00061        pvide
() ;
00062        p
() ;
00063          echo href
("montresource.php?nomfic=ncis_res_sol.php","Code-source PHP de cette page","orange_stim nou")."." ;
00064        finp
() ;
00065        finSection
() ;
00066        finPage
() ;
00067        exit() ;
00068     } ; # finsi
00069     
00070     blockquote
() ;
00071     
00072     h2
("Voici le numéro de plaque que vous avez transmis : ".s_span($plaque,"gvertf"),"grouge") ;
00073     
00074     blockquote
() ;
00075     
00076     # s'il y a de 1 à 4 chiffres, un espace, deux lettres, un espace et deux chiffres, c'est bien
00077     # un numéro de suspect
00078     
00079     if (!
preg_match("/^[0-9]{1,4} [A-Za-z]{2} [0-9]{2}\$/",$plaque)) {
00080     
00081        h3
("Il ne s'agit pas du numéro d'un suspect.") ;
00082     
00083     } else {
00084     
00085        h3
("Il s'agit bien du numéro d'un suspect.") ;
00086     
00087        # suspect Ari = que des consonnes
00088     
00089        preg_match
("/[A-Za-z]{2}/",$plaque,$trouve) ; # noter qu'il n'y a plus ^ ni $
00090        $lesLettres 
strtoupper($trouve[0]) ;
00091        if (!preg_match
("/[AEIOUY]/",$lesLettres)) { # mais pas preg_match("/[^AEIOUY]/",$lesLettres)
00092           p
() ;
00093             echo " A cause des consonnes, ce pourrait bien &ecirc;tre Ari Haswari." 
;
00094           finp
() ;
00095        } # fin si
00096     
00097        # suspect tueur de port en port = un chiffre répété (avant ou après les lettres)
00098     
00099        preg_match_all
("/[0-9]+/",$plaque,$chiffres) ;
00100        $chiffresAvant 
$chiffres[0][0] ;
00101        $chiffresApres 
$chiffres[0][1] ;
00102        if (chiffreRepete
($chiffresAvant.$chiffresApres)) {
00103           p
() ;
00104             echo " A cause de chiffre(s) répété(s), ce pourrait bien &ecirc;tre le tueur de port en port." 
;
00105           finp
() ;
00106        } # fin si
00107     
00108        # suspect la grenouille = 4 chifres exactement avant les lettres avec alternance pair/impair
00109     
00110        if (
preg_match("/[0-9]{4}/",$plaque,$chiffres)) {
00111           if (alternancePairImpair
($chiffres[0])) {
00112              p
() ;
00113                echo " A cause des 4 chiffre(s) en alternance pair/impair, ce pourrait bien &ecirc;tre \"la Grenouille\"." 
;
00114              finp
() ;
00115           } # fin si
00116        
# fin si
00117     
00118     
# fin si
00119     
00120     finblockquote
() ;
00121     finblockquote
() ;
00122     
00123     #############################################################################################
00124     
00125     pvide
() ;
00126     
00127     p
() ;
00128     echo href
("montresource.php?nomfic=ncis_res_sol.php","Code-source PHP de cette page","orange_stim nou")."." ;
00129     finp
() ;
00130     
00131     
00132     finSection
() ;
00133     finPage
() ;
00134     ?>

La coloration syntaxique est réalisée par un enrobage de la function php nommée highlight_file

mais si vous préférez, vous pouvez utiliser celle de SyntaxHighlighter ou même celle de geshi.

Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.

 

 

retour gH    Retour à la page principale de   (gH)