Fiche Etablissement'); if ($pos>0) $tabRet['typeEtablissement']='secondaire'; $pos=strpos($pageHtml, '', 'class="basictext">', ''); $tabRet['adresseSiege']=getTextInHtml($pageHtml, '', 'class="basictext">', ''); print_r($tabRet); die(); // Capital social // Chiffre d'affaires // Date CA // Effectif // Forme Juridique // Nationalité // Activité // Siège social /*
Fiche siège'); if ($pos>0) $tabRet['typeEtablissement']='siège'; // Recherche Dernière MAJ / Activité $pos=strpos($responseSiege, '(dernière mise à jour :'); if ($pos>0) { $tabRet['dateMAJ']=substr($responseSiege, $pos+51, 10); $tabRet['dateAbsActivite']=''; $tabRet['active']='O'; } else { $tabRet['active']='N'; $tabRet['dateMAJ']=''; $pos=strpos($responseSiege, 'Absence d\'activité notée le : '); if ($pos>0) $tabRet['dateAbsActivite']=substr($responseSiege, $pos+78, 10); else { $pos=strpos($responseSiege, 'Absence d\'activité'); if ($pos>0) $tabRet['dateAbsActivite']=''; } } $pos=strpos($responseSiege, ' size="-1"> n° SIRET :'); $tabRet['siret']=str_replace(' ', '', html_entity_decode(substr($responseSiege, $pos+97, 32))); $pos=strpos($responseSiege, 'size="-1"> Date de création :'); if ($pos>0) { $posFin=strpos($responseSiege, '', $pos+109); $tabRet['dateCreation']=str_replace(' ', '', html_entity_decode(substr($responseSiege, $pos+109, $posFin-($pos+109)))); } else $tabRet['dateCreation']=''; $pos=strpos($responseSiege, ' size="-1"> Raison sociale et Enseigne :'); $len=127; if ($pos==0){ $pos=strpos($responseSiege, ' size="-1"> Raison sociale et Enseigne :'); $len=122; if ($pos==0){ $pos=strpos($responseSiege, ' size="-1"> Raison sociale et Enseigne :'); $len=126; $libelleErreur='Informations INSEE non diffusables'; } } if ($libelleErreur=='') { //LARGE*DOMINIQUE MICHEL/
GERANT SARL BIMAGIQUE  
$posFin=strpos($responseSiege, '', $pos+$len); $raisonSocialeStr=trim(substr($responseSiege, $pos+$len, $posFin-($pos+$len))); $raisonSocialeTabLigne=explode('
', $raisonSocialeStr); $tabRet['raisonSociale']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[0]))); $tabRet['Enseigne']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[1]))); $pos=strpos($responseSiege, ' size="-1"> Activité principale :
'); $tabRet['NafCode']=substr($responseSiege, $pos+120, 4); $tabRet['NafLib']=trim(substr($responseSiege, $pos+137, 70)); $pos=strpos($responseSiege, ' size="-1"> Adresse :'); $posFin=strpos($responseSiege, '', $pos+103); $AdresseStr=substr($responseSiege, $pos+103, $posFin-($pos+103)); $AdresseTabLigne=explode('
', $AdresseStr);//' $tabRet['AdresseLigne1']=str_replace(' ', '/', $AdresseTabLigne[0]); $tabRet['AdresseLigne2']=str_replace(' ', '/', $AdresseTabLigne[1]); $tabRet['AdresseLigne3']=str_replace(' ', '/', $AdresseTabLigne[2]); /* $AdresseNum=$AdresseTabLigne1[0]; $AdresseVoi=$AdresseTabLigne1[1]; $AdresseRue=$AdresseTabLigne1[2]; $AdresseCP=$AdresseTabLigne2[0]; $AdresseVille=$AdresseTabLigne2[1]; */ $pos=strpos($responseSiege, 'L\'entreprise est connue au répertoire comme '); if ($pos>0) { $posFin=strpos($responseSiege, '', $pos+106); $tabRet['etatJuridique']=html_entity_decode(substr($responseSiege, $pos+106, $posFin-($pos+106))); $tabRet['dateEtatJuridique']=''; } else { $pos=strpos($responseSiege, 'L\'entreprise est cessée le : '); $tabRet['dateEtatJuridique']=substr($responseSiege, $pos+86, 10); $tabRet['etatJuridique']='cessée'; } //echo 'GetDataEtab="'.$libelleErreur."\"\r\n"; return $tabRet; } } function getDataEntreprise($pageHtml) { global $libelleErreur; $responseEntreprise=$pageHtml; $tabRet=array(); if ($libelleErreur=='') { $pos=strpos($responseEntreprise, 'size="-1"> Date de création :
'); if ($pos>0) $tabRet['dateCreationEntrep']=substr($responseEntreprise, $pos+109, 10); else $tabRet['dateCreationEntrep']=''; // Raison sociale et Sigle $pos=strpos($responseEntreprise, ' size="-1"> Raison sociale et Sigle :'); $posFin=strpos($responseEntreprise, '', $pos+123); $raisonSocialeStr=trim(substr($responseEntreprise, $pos+123, $posFin-($pos+123))); $raisonSocialeTabLigne=explode('
', $raisonSocialeStr); $tabRet['raisonSocialeEntrep']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[0]))); $tabRet['sigle']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[1]))); // Activité prinicpale Entrep $pos=strpos($responseEntreprise, ' size="-1"> Activité principale :
'); $tabRet['NafCodeEntrep']=substr($responseEntreprise, $pos+120, 4); $tabRet['NafLibEntrep']=trim(substr($responseEntreprise, $pos+137, 70)); // Forme Juridique $pos=strpos($responseEntreprise, ' size="-1"> Forme juridique :'); $tabRet['FJCodeEntrep']=substr($responseEntreprise, $pos+116, 4); $tabRet['FJLibEntrep']=trim(substr($responseEntreprise, $pos+133, 70)); // Nb Etab Actifs $pos=strpos($responseEntreprise, ' size="-1"> Nb établissements actifs :'); $posFin=strpos($responseEntreprise, '', $pos+118); $tabRet['nbEtabActifs']=trim(str_replace(' ', '', html_entity_decode(substr($responseEntreprise, $pos+118, $posFin-($pos+118))))); } return $tabRet; } /* * parseHtml.php * Author: Carlos Costa Jordao * Email: carlosjordao@yahoo.com * * My notation of variables: * i_ = integer, ex: i_count * a_ = array, a_html * b_ = boolean, * s_ = string * * What it does: * - parses a html string and get the tags * - exceptions: html tags like

, etc * - At the end, the array will look like this: * ["IMG"][0]["SRC"] = "xxx" * ["IMG"][1]["SRC"] = "xxx" * ["IMG"][1]["ALT"] = "xxx" * ["A"][0]["HREF"] = "xxx" * */ function parseHtml( $s_str ) { $i_indicatorL = 0; $i_indicatorR = 0; $s_tagOption = ''; $i_arrayCounter = 0; $a_html = array(); // Search for a tag in string while( is_int(($i_indicatorL=strpos($s_str,'<',$i_indicatorR))) ) { // Get everything into tag... $i_indicatorL++; $i_indicatorR = strpos($s_str,'>', $i_indicatorL); $s_temp = substr($s_str, $i_indicatorL, ($i_indicatorR-$i_indicatorL) ); $a_tag = explode( ' ', $s_temp ); // Here we get the tag's name list( ,$s_tagName,, ) = each($a_tag); $s_tagName = strtoupper($s_tagName); // Well, I am not interesting in
, or anything else like that... // So, this is false for tags without options. $b_boolOptions = is_array(($s_tagOption=each($a_tag))) && $s_tagOption[1]; if( $b_boolOptions ) { // Without this, we will mess up the array $i_arrayCounter = (int)count($a_html[$s_tagName]); // get the tag options, like src="htt://". Here, s_tagTokOption is 'src' and s_tagTokValue is '"http://"' do { $s_tagTokOption = strtoupper(strtok($s_tagOption[1], "=")); $s_tagTokValue = trim(strtok("=")); $a_html[$s_tagName][$i_arrayCounter][$s_tagTokOption] = $s_tagTokValue; $b_boolOptions = is_array(($s_tagOption=each($a_tag))) && $s_tagOption[1]; } while( $b_boolOptions ); } } return $a_html; } function getDataEntrepriseRNCS($pageHtml) { global $libelleErreur; $tabRet=array(); // Liste et liens vers les Bilans $tabRet['tabListeBilans']=getTabListeBilans($pageHtml); $tabRet['raisonSociale']=getTextInHtml($pageHtml, '

', '
', '
'); $tabRet['RCS']=getTextInHtml($pageHtml, 'RCS ', 'RCS ', '', true); $tabRet['activite']=getTextInHtml($pageHtml, '
ActivitéSiège social
Siège social 75 Avenue la Grande Armee
75116 PARIS 16


Renseignements juridiques  
Forme juridique SA à conseil d'administration
Capital social 171.285.000,00 EURO
Nationalité France


Chiffres clés au 31-12-2004
Chiffre d'affaires 18.049.000.000 EU
Effectif De 5150 à 5720



*/ return $tabRet; } function getDataEcoCoface($pageHtml) { global $libelleErreur; $tabRet=array(); // SIREN $pos=strpos($pageHtml, 'La forme juridique ou la date de création trop récente de l\'entreprise ne nous permettant pas d\'obtenir suffisamment d\'informations, nous vous offrons ce produit.'); if ($pos>0) { $tabRet['infoEco']='OUI'; $tabRet['societeInactive']=@getTextInHtml($pageHtml, '', ''); $strCapital=@getTextInHtml($pageHtml, ''); $tabTmp=explode('', $strCapital); $tabRet['capital_source']=str_replace(')', '', $tabTmp[0]); $tabTmp=explode(' ', $tabTmp[1]); $tabRet['capital_montant']=str_replace(chr(160), '', trim(strip_tags($tabTmp[0]))); $tabRet['capital_devise']=trim(strip_tags($tabTmp[1])); $tabRet['dateCreation']=@getTextInHtml($pageHtml, '', ''); $tabRet['formeJuridique']=@getTextInHtml($pageHtml, '', ''); $tabRet['cotationBourse']=@getTextInHtml($pageHtml, '', ''); $tabRet['effectifSociete']=@getTextInHtml($pageHtml, '', ''); $tabRet['activite']=@getTextInHtml($pageHtml, '', ''); $tabRet['sigle']=@getTextInHtml($pageHtml, '', ''); $tabRet['enseigne']=@getTextInHtml($pageHtml, '', ''); // Dirigeants $strDir=@getTextInHtml($pageHtml, '', '', '
Société inactive ', ' Capital   (', '(', '
Date de création ', ' Forme juridique ', ' Cotation en bourse ', ' Effectif société ', ' Activité ', ' Sigle ', ' Enseigne ', 'IDENTITE 
'); $tabDir=explode('', $strDir); $nbDir=1; foreach ($tabDir as $key => $dir) { $tabTmp=explode(' ', $dir); $typeDir=trim(strip_tags($tabTmp[0])); $nomDir=trim(strip_tags($tabTmp[1])); if ($typeDir<>'' && $typeDir<>'Date de création' && $typeDir<>'Forme juridique' && $typeDir<>'Cotation en bourse' && $typeDir<>'Effectif société' && $typeDir<>'Société inactive' && $typeDir<>'Activité' && $typeDir<>'Sigle' && $typeDir<>'Enseigne' && substr($typeDir, 0, 8) <>'Capital ' ) { //$tabDir['Produits'].=$produit.'/'; //$produit=str_replace(' ','_',$produit); $tabRet['Dirigeant'.$nbDir.'Type']=trim($typeDir); $tabTmp=explode(' ', $nomDir); $tabRet['Dirigeant'.$nbDir.'Genre']=trim($tabTmp[0]); $tabRet['Dirigeant'.$nbDir.'Prenom']=trim($tabTmp[1]); $tabRet['Dirigeant'.$nbDir.'Nom']=trim($tabTmp[2]); $nbDir++; } } $tabRet['NbDirigeants']=$nbDir-1; // Liens Financiers $strTmp=@getTextInHtml($pageHtml, 'LIENS FINANCIERS', ' ', ''); if (strpos($strTmp, 'Néant')>0) $tabRet['LiensFinanciers']='Néant'; else $tabRet['LiensFinanciers']='Présence liens'; // ELEMENTS FINANCIERS $strTmp=@getTextInHtml($pageHtml, 'ELEMENTS FINANCIERS', ' ', ''); if (strpos($strTmp, 'Néant')>0) $tabRet['ElementsFinanciers']='Néant'; else $tabRet['ElementsFinanciers']='Présence El.Fi.'; } else $tabRet['infoEco']='NON'; //echo $pageHtml; //print_r($tabRet); //die(); return $tabRet; } function getDataEntrepriseCoface($pageHtml) { global $libelleErreur; $tabRet=array(); // SIREN $tabRet['siren']=@getTextInHtml($pageHtml, 'portail/entreprise_identite/identite.asp?nsiren=', '?nsiren=', '&IMPRESSION=OUI'); //$tabRet['siren']=@getTextInHtml($pageHtml, ' Qui sommes nous - Qui sommes nous - Raison sociale
', '', ''); $tabRS_Adr=explode('
', $strRS_Adr); $tabRet['raisonSociale']=trim($tabRS_Adr[0]); $tabRS_Adr1=explode(' ', $tabRS_Adr[1]); $tabRet['AdresseLigne1']=trim($tabRS_Adr1[0]); $tabRet['AdresseLigne2']=trim($tabRS_Adr1[1]); $tabRS_Adr1=explode(' ', $tabRS_Adr[2]); $tabRet['codePostal']=trim($tabRS_Adr1[0]); $tabRet['ville']=trim($tabRS_Adr1[1]); $tabRet['UrlGeoLoc']=@getTextInHtml($pageHtml, '
Téléphone
', '', ''); $tabTelFax=explode('
', $strTelFax); $tabRet['tel']=trim($tabTelFax[0]); $tabRet['fax']=trim($tabTelFax[1]); // Adresse Internet / Email $strInet=@getTextInHtml($pageHtml, 'Adresse internet
', '
', '>', '') ); $tabRet['mail']=trim( @getTextInHtml($tabInet[1], ' href="mailto:', ':', '">') ); // Bourse $strBourse=@getTextInHtml($pageHtml, ' '."\r\n".' Code Sicovam
', '', ''); $tabBourse=explode('
', $strBourse); $tabRet['bourse_isin']=trim($tabBourse[0]); $tabRet['bourse_marche']=trim($tabBourse[1]); $tabRet['bourse_ville']=trim($tabBourse[2]); // Activité $tabRet['activite']=trim(str_replace(' ', ' ', @getTextInHtml($pageHtml, 'Libellé code activité ', '', ''))); // Produits disponibles $strDispos=@getTextInHtml($pageHtml, '
Produits disponibles


', '', '
'); $tabDispos=explode(' $produit) { $produit=trim(str_replace('>', '', str_replace('nowrap>', '', strip_tags($produit)))); if ($produit<>'' && $produit<>' ') { $tabRet['Produits'].=$produit.'/'; $produit=str_replace(' ','_',$produit); $tabRet['Produit_'.$produit]='Oui'; } } // print_r($tabRet); // die(); return $tabRet; } function getTabListeBilans($pageHtml) { $tabUrl=array(); $deb=$fin=0; while( is_int(($deb=strpos($pageHtml,'', $s_temp); $tabUrl[$a_temp[1]]=$a_temp[0]; } return $tabUrl; } function getTabListeGU($pageHtml) { $tabGU=array(); $deb=$fin=0; /* Lancer la recherche dans toute la localité Lancer la recherche sans l'adresse */ while( is_int(($deb=strpos($pageHtml,'', $s_temp); $tabGU[$a_temp[1]]=$a_temp[0]; } return $tabGU; } function getTabListeNonTrouve($pageHtml) { $tabGU=array(); $deb=$fin=0; /* onMouseOver="javascript:mOvr(this);" onMouseOut="javascript:mOut(this);">Lancer la recherche dans toute la localité onMouseOver="javascript:mOvr(this);" onMouseOut="javascript:mOut(this);">Lancer la recherche sans l'adresse */ while( is_int(($deb=strpos($pageHtml,'onMouseOver="javascript:mOvr(this);" onMouseOut="javascript:mOut(this);">', $s_temp); $tabGU[$a_temp[1]]=$a_temp[0]; } return $tabGU; } /** Recherche un texte dans une page HTML ** **/ function getTextInHtml($pageHtml, $strToFind, $strDeb, $strEnd, $include_strDeb=false, $include_strEnd=false, $ltrim=true, $rtrim=true, &$fin, $nbOcc=1) { $tabRet=array(); $deb=$nbOccTrouve=0; while( is_int(($deb=strpos($pageHtml,$strToFind,$fin))) ) { $deb++; $deb2 = strpos($pageHtml,$strDeb, $deb); $fin = strpos($pageHtml,$strEnd, $deb2); if (!$include_strDeb) $deb2+=strlen($strDeb); $s_temp = substr($pageHtml, $deb2, ($fin-$deb2)); if ($ltrim) $s_temp=ltrim($s_temp); if ($rtrim) $s_temp=rtrim($s_temp); if ($nbOcc==1) return $s_temp; //echo $s_temp."\r\n"; //$a_temp = explode('" class="basic">', $s_temp); $tabUrl[$nbOccTrouve]=$s_temp; $nbOccTrouve++; if ($nbOcc==$nbOccTrouve) { // echo "j'ai trouvé le nb demandé, je sort\r\n"; break; }; } return $tabUrl; /*
  • Le type de voie a été modifié
  • L'orthographe du mot directeur a été modifiée
  • Le code postal a été forcé à partir du département et de la localité
    */ } ?>