Valid XHTML    Valid CSS2    

Listing du fichier reponseUniprotFns.php

 

00001     <?php
00002     
00003     
# (gH) -_- reponseUniprotFns.php ; TimeStamp (unix) : 06 Juillet 2009 vers 12:53
00004     
00005     ###################################################
00006     
00007     
function chaineUrl_1($url,$avant,$apres) {
00008     
00009     
###################################################
00010     
00011     # on parcourt $url et on récupère le premier texte vu entre
00012     # les chaines $avant et $apres
00013     
00014     
$lem
= "" ;
00015     
$fh
= @fopen($url,"r") ;
00016     
$continue
= 1 ;
00017     
// cela permet d'arreter la lecture du fichier dès le premier IPR vu
00018     
if (!
$fh) {
00019      echo
"impossible d'ouvrir l'URL
$url\n" ;
00020      return(
$lem) ;
00021     } ;
# finsi
00022     
00023     
while ((!
feof($fh)) and ($continue==1)) {
00024     
$lig
= fgets($fh, 4096) ;
00025     
$idp
= strpos($lig,$avant) ;
00026      if (
$idp
>-1) {
00027     
$lig
= substr($lig,$idp+strlen($avant)) ;
00028     
$jdp
= strpos($lig,$apres) ;
00029     
$lem
= substr($lig,0,$jdp) ;
00030     
$continue
= 0 ;
00031      } ;
# finsi
00032     
} ; # fin de tant que
00033     
fclose
($fh) ;
00034     
00035     return(
$lem) ;
00036     
00037     } ;
# fin de fonction chaineUrl_1
00038     
00039     ###################################################
00040     
00041     
function
exprUrl1($url,$er) {
00042     
00043     
###################################################
00044     
00045     # on parcourt $url et on récupère le premier texte
00046     # correspondant à l'expression régulière $er
00047     
00048     
$lem
= "" ;
00049     
$fh
= @fopen($url,"r") ;
00050     
$continue
= 1 ;
00051     if (!
$fh) {
00052      return(
$lem) ;
00053     } ;
# finsi
00054     
00055     
while ((!
feof($fh)) and ($continue==1)) {
00056     
$lig
= fgets($fh, 4096) ;
00057     
$idp
= preg_match($er,$lig,$tdr) ;
00058      if (
count
($tdr)>0) {
00059     
$lem
= $tdr[1] ;
00060     
$continue
= 0 ;
00061      } ;
# finsi
00062     
} ; # fin de tant que
00063     
fclose
($fh) ;
00064     
00065     return(
$lem) ;
00066     
00067     } ;
# fin de fonction exprUrl1
00068     
00069     ###################################################
00070     
00071     
function
xslUrl1($urlxml,$fxsl) {
00072     
00073     
###################################################
00074     
00075     # on exécute la transformation du fichier $fxsl
00076     # sur le fichier xml issu de l'URL $urlxml
00077     # (on utilise la version "longue" de l'écriture en php)
00078     
00079     
$ipr
= "" ;
00080     
00081     
$fh
= @fopen($urlxml,"r") ;
00082     
$continue
= 1 ;
00083     if (!
$fh) {
00084      return(
$ipr) ;
00085     } ;
# finsi
00086     
00087     // Chargement du fichier XML
00088     
00089     
$xml
= new domDocument();
00090     
$xml
-> load($urlxml);
00091     
00092     
// Chargement du fichier XSL
00093     
00094     
$xsl
= new domDocument();
00095     
$xsl
-> load($fxsl);
00096     
00097     
// Nouvelle instance du processeur XSLT
00098     
00099     
$xslt
= new XSLTProcessor();
00100     
00101     
// Import de la feuille XSL
00102     
00103     
$xslt
-> importStylesheet($xsl);
00104     
00105     
// Transformation et affichage du résultat
00106     
00107     
$ipr
= $xslt -> transformToXml($xml);
00108     
00109     return(
$ipr) ;
00110     
00111     } ;
# fin de fonction xslUrl
00112     
00113     ###################################################
00114     ###################################################
00115     
00116     
function
chaineUrl_2($url,$avant1,$apres1,$avant2="?",$apres2="!") {
00117     
00118     
###################################################
00119     
00120     # on parcourt $url et on récupère tous les textes vus entre
00121     # les chaines $avant et $apres
00122     
00123     
$lem
= "" ;
00124     
$fh
= @fopen($url,"r") ;
00125     if (!
$fh) {
00126      return(
$lem) ;
00127     } ;
# finsi
00128     
while (!
feof($fh)) {
00129     
$lem1
= "?" ;
00130     
$lem2
= "??" ;
00131     
$lig
= fgets($fh, 4096) ;
00132     
$idp
= strpos($lig,$avant1) ;
00133      while (
$idp
>-1) {
00134     
$lig
= substr($lig,$idp+strlen($avant1)) ;
00135     
$jdp
= strpos($lig,$apres1) ;
00136     
$lem1
= " ".substr($lig,0,$jdp) ;
00137     
$kdp
= strpos($lig,$avant2) ;
00138      if (
$kdp
>-1) {
00139     
$lig
= substr($lig,$kdp+strlen($avant2)) ;
00140     
$ldp
= strpos($lig,$apres2) ;
00141     
$lem2
= substr($lig,0,$ldp) ;
00142      } ;
# fin de si
00143     
$lem
.= "$lem1 $lem2 ; " ;
00144     
$idp
= strpos($lig,$avant1) ;
00145      } ;
# finsi
00146     
} ; # fin de tant que
00147     
fclose
($fh) ;
00148     
00149     return(
$lem) ;
00150     
00151     } ;
# fin de fonction chaineUrl_2
00152     
00153     ###################################################
00154     
00155     
function
exprUrl2($url,$er) {
00156     
00157     
###################################################
00158     
00159     # on parcourt $url et on récupère tous les textes
00160     # correspondants à l'expression régulière $er
00161     
00162     
$lem
= "" ;
00163     
$fh
= @fopen($url,"r") ;
00164     if (!
$fh) {
00165      return(
$lem) ;
00166     } ;
# finsi
00167     
00168     
$jdp
= 0 ;
00169     while (!
feof
($fh)) {
00170     
$lig
= fgets($fh, 4096) ;
00171     
$idp
= preg_match_all($er,$lig,$tdr) ;
00172      if (
$idp
>0) {
00173      for (
$idv
=0;$idv<$idp;$idv++) {
00174     
$lem1
= $tdr[1][$idv] ;
00175     
$lem2
= $tdr[2][$idv] ;
00176     
$lem
.= "$lem1 $lem2 ; " ;
00177      } ;
# fin pour
00178     
} ; # finsi
00179     
} ; # fin de tant que
00180     
fclose
($fh) ;
00181     
00182     return(
$lem) ;
00183     
00184     } ;
# fin de fonction exprUrl2
00185     
00186     ###################################################
00187     
00188     
function
xslUrl2($urlxml,$fxsl) {
00189     
00190     
###################################################
00191     
00192     # on exécute la transformation du fichier $fxsl
00193     # sur le fichier xml issu de l'URL $urlxml
00194     # ce qui différe de la fonction xslUrl1,
00195     # c'est le fichier transformation
00196     
00197     
$ipr
= "" ;
00198     
00199     
$fh
= @fopen($urlxml,"r") ;
00200     
$continue
= 1 ;
00201     if (!
$fh) {
00202      return(
$ipr) ;
00203     } ;
# finsi
00204     
00205     
$xml
= new domDocument();
00206     
$xml
-> load($urlxml);
00207     
00208     
$xsl
= new domDocument();
00209     
$xsl
-> load($fxsl);
00210     
00211     
$xslt
= new XSLTProcessor();
00212     
$xslt
-> importStylesheet($xsl);
00213     
00214     
$ipr
= $xslt -> transformToXml($xml);
00215     
00216     return(
$ipr) ;
00217     
00218     } ;
# fin de fonction xslUrl2
00219     
00220     ###################################################
00221     
00222     
function
choixIpr($ldsol) {
00223     
00224     
###################################################
00225     
00226     # choix du numéro Interpor (ipr) :
00227     
00228     # on décompose via le point-virgule
00229     # s'il n'y a qu'une seule solution, c'est le bon ipr
00230     # sinon, si on trouve LEA, c'est ce qu'il faut garder
00231     # sinon, enfin, on garde le premier IPR vu
00232     
00233     
$ldsol
= trim($ldsol) ;
00234     
$lng1
= strlen($ldsol) -1 ;
00235     if (
substr
($ldsol,$lng1,1)==";") { $ldsol = substr($ldsol,0,$lng1) ; } ;
00236     
00237     
$tdsol
= split(";",$ldsol) ;
00238     
$lasol
= $tdsol[0] ;
00239     
$nbe
= count($tdsol) ;
00240     if (
$nbe
>1) {
00241      for (
$ids
=0;$ids<$nbe;$ids++) {
00242     
$solc
= $tdsol[$ids] ;
00243      if (
strpos
($solc,"LEA")>-1) { $lasol = $solc ; } ;
00244      } ;
# fin pour
00245     
} ; # fin si
00246     
00247     
$motsol
= preg_split("/\s+/",trim($lasol)) ;
00248     
$ipr
= $motsol[0] ;
00249     
00250     return(
$ipr) ;
00251     
00252     } ;
# fin de fonction choixIpr
00253     
00254     ###################################################
00255     
?>

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)