Valid XHTML     Valid CSS2    

Listing du fichier reponseUniprot.php avec syntaxhighlighter


        <?php
        ######################################
        
        include("../std.php") ;
        
        ###################################################
        
        function chaineUrl_1($url,$avant,$apres) {
        
        ###################################################
        
        # on parcourt $url et on récupère le texte entre
        # les chaines $avant et $apres
        
        $lem   = "" ;
        $fh    = @fopen($url,"r") ;
        $continue    = 1 ;
        // cela permet d'arreter la lecture du fichier dès le premier IPR vu
        if (!$fh) {
          echo "impossible d'ouvrir l'URL $url\n" ;
          return($lem) ;
        } ; # finsi
        
        while ((!feof($fh)) and ($continue==1)) {
          $lig = fgets($fh, 4096) ;
          $idp = strpos($lig,$avant) ;
          if ($idp>-1) {
             $lig  = substr($lig,$idp+strlen($avant)) ;
             $jdp  = strpos($lig,$apres) ;
             $lem  = substr($lig,0,$jdp) ;
             $continue = 0 ;
          } ; # finsi
        } ; # fin de tant que
        fclose($fh) ;
        
        return($lem) ;
        
        } ; # fin de fonction chaineUrl_1
        
        ###################################################
        
        function exprUrl1($url,$er) {
        
        ###################################################
        
        # on parcourt $url et on récupère le texte entre
        # fourni par l'expression régulière $er
        
        $lem   = "" ;
        $fh    = @fopen($url,"r") ;
        $continue    = 1 ;
        if (!$fh) {
          return($lem) ;
        } ; # finsi
        
        while ((!feof($fh)) and ($continue==1)) {
          $lig = fgets($fh, 4096) ;
          $idp = preg_match($er,$lig,$tdr) ;
          if (count($tdr)>0) {
             $lem  = $tdr[1] ;
             $continue = 0 ;
          } ; # finsi
        } ; # fin de tant que
        fclose($fh) ;
        
        return($lem) ;
        
        } ; # fin de fonction exprUrl1
        
        ###################################################
        
        function xslUrl1($urlxml,$fxsl) {
        
        ###################################################
        
        # on exécute la transformation du fichier $fxsl
        # sur le fichier xml issu de l'URL $urlxml
        
        $ipr = "" ;
        
        $fh    = @fopen($urlxml,"r") ;
        $continue    = 1 ;
        if (!$fh) {
          return($ipr) ;
        } ; # finsi
        
        // Chargement du fichier XML
        
        $xml = new domDocument();
        $xml -> load($urlxml);
        
        // Chargement du fichier XSL
        
        $xsl = new domDocument();
        $xsl -> load($fxsl);
        
        // Nouvelle instance du processeur XSLT
        
        $xslt = new XSLTProcessor();
        
        // Import de la feuille XSL
        
        $xslt -> importStylesheet($xsl);
        
        // Transformation et affichage du résultat
        
        $ipr = $xslt -> transformToXml($xml);
        
        return($ipr) ;
        
        } ; # fin de fonction xslUrl
        
        ###################################################
        ###################################################
        
        function chaineUrl_2($url,$avant1,$apres1,$avant2="?",$apres2="!") {
        
        ###################################################
        
        $lem   = "" ;
        $fh    = @fopen($url,"r") ;
        if (!$fh) {
          return($lem) ;
        } ; # finsi
        while (!feof($fh)) {
          $lem1 = "?" ;
          $lem2 = "??" ;
          $lig = fgets($fh, 4096) ;
          $idp = strpos($lig,$avant1) ;
          while ($idp>-1) {
             $lig   = substr($lig,$idp+strlen($avant1)) ;
             $jdp   = strpos($lig,$apres1) ;
             $lem1  = " ".substr($lig,0,$jdp) ;
             $kdp   = strpos($lig,$avant2) ;
             if ($kdp>-1) {
                $lig   = substr($lig,$kdp+strlen($avant2)) ;
                $ldp   = strpos($lig,$apres2) ;
                $lem2  = substr($lig,0,$ldp) ;
             } ; # fin de si
             $lem   .= "$lem1 $lem2 ; " ;
             $idp   = strpos($lig,$avant1) ;
          } ; # finsi
        } ; # fin de tant que
        fclose($fh) ;
        
        return($lem) ;
        
        } ; # fin de fonction chaineUrl_2
        
        ###################################################
        
        function exprUrl2($url,$er) {
        
        ###################################################
        
        $lem   = "" ;
        $fh    = @fopen($url,"r") ;
        if (!$fh) {
          return($lem) ;
        } ; # finsi
        
        $jdp = 0 ;
        while (!feof($fh)) {
          $lig = fgets($fh, 4096) ;
          $idp = preg_match_all($er,$lig,$tdr) ;
          if ($idp>0) {
              for ($idv=0;$idv<$idp;$idv++) {
                $lem1  = $tdr[1][$idv] ;
                $lem2  = $tdr[2][$idv] ;
                $lem  .= "$lem1 $lem2 ; " ;
              } ; # fin pour
          } ; # finsi
        } ; # fin de tant que
        fclose($fh) ;
        
        return($lem) ;
        
        } ; # fin de fonction exprUrl2
        
        ###################################################
        
        function xslUrl2($urlxml,$fxsl) {
        
        ###################################################
        
        $ipr = "" ;
        
        $fh    = @fopen($urlxml,"r") ;
        $continue    = 1 ;
        if (!$fh) {
          return($ipr) ;
        } ; # finsi
        
        $xml = new domDocument();
        $xml -> load($urlxml);
        
        $xsl = new domDocument();
        $xsl -> load($fxsl);
        
        $xslt = new XSLTProcessor();
        $xslt -> importStylesheet($xsl);
        
        $ipr = $xslt -> transformToXml($xml);
        
        return($ipr) ;
        
        } ; # fin de fonction xslUrl2
        
        ###################################################
        
        function choixIpr($ldsol) {
        
        ###################################################
        
        $ldsol = trim($ldsol) ;
        $lng1  = strlen($ldsol) -1 ;
        if (substr($ldsol,$lng1,1)==";") { $ldsol = substr($ldsol,0,$lng1) ; } ;
        
        # on décompose via le point-virgule
        # s'il n'ya qu'une seule solution, c'est le bon ipr
        # sinon, si on trouve LEA, c'est ce qu'il faut garder
        # sinon, enfin, on garde le premier IPR
        
        $tdsol = preg_split("/;/",$ldsol) ;
        $lasol = $tdsol[0] ;
        $nbe = count($tdsol) ;
        if ($nbe>1) {
          for ($ids=0;$ids<$nbe;$ids++) {
            $solc = $tdsol[$ids] ;
            if (strpos($solc,"LEA")>-1) { $lasol = $solc ; } ;
          } ; # fin pour
        } ; # fin si
        
        $motsol = preg_split("/\s+/",trim($lasol)) ;
        $ipr    = $motsol[0] ;
        
        return( $ipr) ;
        
        } ; # fin de fonction choixIpr
        
        ###################################################
        
        debutPage("Correspondance uniprot/interpro") ;
        debutSection("95%") ;
        
        ######################################
        
        $titre = "Aucun identifiant de protéine fourni." ;
        if (isset($_GET["uni_id"])) {
         $uni_id = trim($_GET["uni_id"]) ;
         if (strlen($uni_id)>0) {
            $titre = "Recherche du numéro Uniprot pour la protéine $uni_id" ;
         } ; # fin de si
        } ; # fin de si
        
        $url_html = "http://www.uniprot.org/uniprot/$uni_id" ;
        $url_xml  = "http://www.uniprot.org/uniprot/".$uni_id.".xml" ;
        $fhtml    = href($url_html,$uni_id) ;
        $fxml     = href($url_xml,$uni_id.".xml") ;
        
        h2($titre) ;
        blockquote() ;
        
        #############################################
        #############################################
        
        h2("Méthodes pour obtenir le premier numéro IPR","gbleuf") ;
        blockquote() ;
        
        ## ------------------------------------------------
        
        h3("Méthode 1 : fonctions strpos, substr et strlen sur le fichier HTML $fhtml") ;
        
        $intpro = chaineUrl_1($url_html,"ac=IPR","\"") ;
        p() ;
        echo "La réponse est : $intpro " ;
        finp() ;
        
        ## ------------------------------------------------
        
        h3("Méthode 2 : expression régulière sur fichier HTML $fhtml") ;
        
        $intpro = exprUrl1($url_html,"/ac=IPR(.*?)\"/") ;
        p() ;
        echo "La réponse est : $intpro " ;
        finp() ;
        
        ## ------------------------------------------------
        
        h3("Méthode 3 : transformation XSL sur fichier XML $fxml") ;
        
        ## ------------------------------------------------
        
        $intpro = xslUrl1($url_xml,"uniprot1.xsl") ;
        p() ;
        echo "La réponse est : $intpro " ;
        finp() ;
        
        finblockquote() ;
        
        #############################################
        #############################################
        
        h2("Méthodes pour obtenir le \"bon IPR\" :","gbleuf") ;
        h2(" IPRunique, celui pour LEA, le premier vu","gbleuf") ;
        blockquote() ;
        
        ## ------------------------------------------------
        
        h3("Méthode 1 : fonctions strpos, substr et strlen sur le fichier HTML $fhtml") ;
        
        $intpro = chaineUrl_2($url_html,"ac=IPR","\"","a>.","<br") ;
        p() ;
        echo "Réponse(s) : $intpro " ;
        finp() ;
        
        ## ------------------------------------------------
        
        h3("Méthode 2 : expression régulière sur fichier HTML $fhtml") ;
        
        $intpro = exprUrl2($url_html,"/ac=IPR(.*?)\".*?a>.(.*?)<br/") ;
        p() ;
        echo "Réponse(s) : $intpro " ;
        finp() ;
        
        ## ------------------------------------------------
        
        h3("Méthode 3 : transformation XSL sur fichier XML $fxml") ;
        
        ## ------------------------------------------------
        
        $intpro = xslUrl2($url_xml,"uniprot2.xsl") ;
        p() ;
        echo "Réponse(s) : $intpro " ;
        finp() ;
        
        ## ------------------------------------------------
        
        $bonipr = choixIpr($intpro) ;
        h3("On en déduit le bon numéro IPR : $bonipr") ;
        
        finblockquote() ;
        
        #############################################
        #############################################
        
        p() ;
        echo " Code-sources : ";
        echo href("montresource.php?nomfic=reponseUniprot.php","de la page ","orange_stim nou") ;
        echo " ; " ;
        echo href("montresource.php?nomfic=uniprot1.xsl","de la transformation XSL 1","orange_stim nou") ;
        echo " ; " ;
        echo href("montresource.php?nomfic=uniprot2.xsl","de la transformation XSL 2","orange_stim nou") ;
        echo "." ;
        
        finp() ;
        
        
        
        finblockquote() ;
        
        ######################################
        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 gH    Retour à la page principale de   (gH)