Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

EQUIVALENT DE INNERHTML JAVASCRIPT, MAIS GLOBAL


Information sur la source

Catégorie :Chaîne de caratère Classé sous : Extraction, balises, html, tableau, xml Niveau : Initié Date de création : 10/07/2008 Date de mise à jour : 22/07/2008 06:16:58 Vu : 3 037

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

Description

Cette fonction renvoie un tableau du contenu de toutes les occurrences d'une balise, HTML ou non, de la chaîne de caractères passée en paramètre.
Ce tableau de contenu possède deux indices $Result[Ligne][Colonne].
Le nombre de colonnes par ligne peut soit être fixé par un nombre, soit être déterminé par une valeur, prise en compte ou non dans $Result, marquant le début de chaque ligne.

J'ai écrit cette fonction car j'en ai une autre qui, après requêtage SQL, me renvoie le code HTML du résultat en <TABLE>. Mais, pour des raisons de formatage de certaines valeurs, il me fallait récupérer le contenu des <TD>.
 

Source

  • <?php
  • function InnerHTML($HTML,$Balise,$Prem_val='',$Affiche_prems=true,$Nbre_bal=0)
  • {
  • /*
  • $HTML contient le code html contenant la table dont on veut extraire la valeur des cellules
  • $Balise correspond à la balise dont on veut extraire le contenu.
  • Ne pas mettre les "<" et ">".
  • CONTRAINTE : dans le code HTML, la balise doit être collée à "<"
  • <td... est correct et < td... ne l'est pas.
  • $Prem_val correspond à la valeur qui est prise pour déterminer une nouvelle ligne.
  • InnerHTML est INSENSIBLE à la casse concernant $Prem_val. Pour changer cela remplacer les stripos par strpos.
  • $Affiche_prems permet d'inclure (true) ou non (false) dans le tableau d'extraction $Prem_val si cette option est prise.
  • $Nbre_bal détermine le nombre de contenus de balise composant une ligne.
  • Si $Prem_val et $Nbre_bal sont renseignés, c'est $Prem_val qui prime.
  • Si $Nbre_bal est supérieur à 0, $Affiche_prems est toujours true
  • Sachant qu'entre <td> et </td> il peut y avoir en théorie n'importe quoi (autres balises, saut de ligne...), on ne peut pas utiliser <td>([[:alnum:]]+)</td> pour le masque
  • Si on utilise <td>(.+)</td> ça ne marche pas non plus car la partie extraite dans un preg_match_all sera celle comprise entre le premier <td> et le dernier </td>.
  • Tous les autres couples <td>...</td> ne seront pas pris en compte.
  • On décompose donc l'extraction.*/
  • if(strlen($Prem_val)===0)//On va extraire les valeurs par nombre de ligne
  • { //==>Si $Nbre_bal n'est pas renseigné il faut qu'il soit supérieur à 0
  • $Affiche_prems=true; //par contre, s'il est renseigné on garde la valeur passée en paramètre.
  • if($Nbre_bal===0) $Nbre_bal=1;
  • }
  • else//Cela signifie que on va extraire les ligne par une valeur
  • {
  • $Nbre_bal=0;//Si $Nbre_bal a malencontreusement été renseigné en même temps que $Prem_val,
  • }//On remet cette variable à 0 pour que l'extraction par valeur soit détectée (confère **)
  • $Compteur=$Nbre_bal+1;
  • preg_match_all('~<'.$Balise.'[^>]*>~is',$HTML,$Deb_balise);
  • foreach($Deb_balise[0] as $Val)
  • {
  • $Val=substr($HTML,strpos($HTML,$Val)+strlen($Val));//On enlève tout ce qu'il y a avant le <td> y compris ce dernier
  • $Temp=substr($Val,0,stripos($Val,'</'.$Balise.'>'));
  • $HTML=substr($HTML,stripos($HTML,'</'.$Balise.'>')+strlen($Balise));//On supprime le code <td>...</td> que l'on vient d'extraire
  • $Taille=count($Recup)-1;
  • if($Nbre_bal>0)//**On traite une ligne par nombre de balise)
  • {
  • if($Compteur<$Nbre_bal)
  • {
  • $Recup[$Taille][]=$Temp;
  • ++$Compteur;
  • }
  • else
  • {
  • $Recup[$Taille+1][]=$Temp;
  • $Compteur=1;
  • }
  • }
  • else//Par valeur de balise commune
  • {
  • if($Taille===-1)$Taille=0;//C'est que $Prem_val n'est pas en première position
  • if(stripos($Temp,$Prem_val)===false)
  • {
  • if(count($Recup[$Taille])===0)
  • {
  • $Taille2=0;
  • }
  • else
  • {
  • $Taille2=count($Recup[$Taille])-1;
  • }
  • if($Recup[$Taille][$Taille2]===NULL)
  • {
  • $Recup[$Taille][$Taille2]=$Temp;
  • }
  • else
  • {
  • $Recup[$Taille][]=$Temp;
  • }
  • }
  • else
  • {
  • if($Compteur==1)
  • {
  • $Compteur=0;
  • }
  • else
  • {
  • $Compteur=$Taille+1;
  • }
  • if($Affiche_prems===true)
  • {
  • $Recup[$Compteur][]=$Temp;
  • }
  • else
  • {
  • $Recup[$Compteur][]=NULL;
  • }
  • /*
  • if($Compteur==1)
  • {
  • $Compteur=0;
  • }
  • else
  • {
  • $Compteur=$Taille+1;
  • }
  • Pour pouvoir insérer des contenus de balise se trouvant avant $Prem_val si cette valeur n'est pas en première position,
  • on a forcé la taille à 0.
  • Si $Prem_val est en première position dans le tableau renvoyé dans $Deb_balise[0] alors $Taille, au lieu d'être à 0 sera à 1
  • Pour corriger cela on fait tourner le $Compteur.
  • Ainsi, si la première valeur de $Deb_balise[0] est égale à $Prem_val, le premier indice du tableau de résultat sera 0.
  • */
  • }
  • ++$Compteur;
  • }
  • }
  • return $Recup;
  • }
  • ?>
<?php
function InnerHTML($HTML,$Balise,$Prem_val='',$Affiche_prems=true,$Nbre_bal=0)
{
  /*
  $HTML contient le code html contenant la table dont on veut extraire la valeur des cellules

  $Balise correspond à la balise dont on veut extraire le contenu.
  Ne pas mettre les "<" et ">".
  CONTRAINTE : dans le code HTML, la balise doit être collée à "<"
  <td... est correct et <          td... ne l'est pas.

  $Prem_val correspond à la valeur qui est prise pour déterminer une nouvelle ligne.
  InnerHTML est INSENSIBLE à la casse concernant $Prem_val. Pour changer cela remplacer les stripos par strpos.

  $Affiche_prems permet d'inclure (true) ou non (false) dans le tableau d'extraction $Prem_val si cette option est prise.

  $Nbre_bal détermine le nombre de contenus de balise composant une ligne.
  Si $Prem_val et $Nbre_bal sont renseignés, c'est $Prem_val qui prime.

  Si $Nbre_bal est supérieur à 0, $Affiche_prems est toujours true

  Sachant qu'entre <td> et </td> il peut y avoir en théorie n'importe quoi (autres balises, saut de ligne...), on ne peut pas utiliser <td>([[:alnum:]]+)</td> pour le masque

  Si on utilise <td>(.+)</td> ça ne marche pas non plus car la partie extraite dans un preg_match_all sera celle comprise entre le premier <td> et le dernier </td>.
  Tous les autres couples <td>...</td> ne seront pas pris en compte.

  On décompose donc l'extraction.*/

  if(strlen($Prem_val)===0)//On va extraire les valeurs par nombre de ligne
  {                        //==>Si $Nbre_bal n'est pas renseigné il faut qu'il soit supérieur à 0
    $Affiche_prems=true;   //par contre, s'il est renseigné on garde la valeur passée en paramètre.
    if($Nbre_bal===0) $Nbre_bal=1;
  }
  else//Cela signifie que on va extraire les ligne par une valeur
  {
    $Nbre_bal=0;//Si $Nbre_bal a malencontreusement été renseigné en même temps que $Prem_val,
  }//On remet cette variable à 0 pour que l'extraction par valeur soit détectée (confère **)

  $Compteur=$Nbre_bal+1;
  preg_match_all('~<'.$Balise.'[^>]*>~is',$HTML,$Deb_balise);

  foreach($Deb_balise[0] as $Val)
  {
    $Val=substr($HTML,strpos($HTML,$Val)+strlen($Val));//On enlève tout ce qu'il y a avant le <td> y compris ce dernier
    $Temp=substr($Val,0,stripos($Val,'</'.$Balise.'>'));
    $HTML=substr($HTML,stripos($HTML,'</'.$Balise.'>')+strlen($Balise));//On supprime le code <td>...</td> que l'on vient d'extraire
    $Taille=count($Recup)-1;

    if($Nbre_bal>0)//**On traite une ligne par nombre de balise)
    {
      if($Compteur<$Nbre_bal)
      {
        $Recup[$Taille][]=$Temp;
        ++$Compteur;
      }
      else
      {
        $Recup[$Taille+1][]=$Temp;
        $Compteur=1;
      }
    }
    else//Par valeur de balise commune
    {
      if($Taille===-1)$Taille=0;//C'est que $Prem_val n'est pas en première position

      if(stripos($Temp,$Prem_val)===false)
      {
        if(count($Recup[$Taille])===0)
        {
          $Taille2=0;
        }
        else
        {
          $Taille2=count($Recup[$Taille])-1;
        }

        if($Recup[$Taille][$Taille2]===NULL)
        {
          $Recup[$Taille][$Taille2]=$Temp;
        }
        else
        {
          $Recup[$Taille][]=$Temp;
        }
      }
      else
      {
        if($Compteur==1)
        {
          $Compteur=0;
        }
        else
        {
          $Compteur=$Taille+1;
        }

        if($Affiche_prems===true)
        {
          $Recup[$Compteur][]=$Temp;
        }
        else
        {
          $Recup[$Compteur][]=NULL;
        }
        /*
        if($Compteur==1)
        {
          $Compteur=0;
        }
        else
        {
          $Compteur=$Taille+1;
        }

        Pour pouvoir insérer des contenus de balise se trouvant avant $Prem_val si cette valeur n'est pas en première position,
        on a forcé la taille à 0.
        Si $Prem_val est en première position dans le tableau renvoyé dans $Deb_balise[0] alors $Taille, au lieu d'être à 0 sera à 1
        Pour corriger cela on fait tourner le $Compteur.
        Ainsi, si la première valeur de $Deb_balise[0] est égale à $Prem_val, le premier indice du tableau de résultat sera 0.
        */
      }
      ++$Compteur;
    }
  }
  return $Recup;
}
?>

Conclusion

Un petit exemple:
$HTML='<table border="1">
    <tr>
        <td width="463">            <p>ID</p><dd>            fgfg</dd>
        </td>
        <td width="463">
        <p>a</p>
        </td>
        <td width="463">            <p>1</p>
        </td>
        <td width="463">
            <p>Lu  ndi</p>
        </td>
    </tr>
    <tr>
        <td width="463">
            <p>ID</p>
        </td>
        <td width="463">
            <p>b</p>
        </td>
        <td width="463">
            <p>2</p>
        </td>
        <td width="463">
            <p>Mardi</p>
        </td>
    </tr>
    <tr>
        <td width="463">
            <p>ID</p>
        </td>
        <td width="463">
            <p>c</p>
        </td>
        <td width="463">
            <p>3</p>
        </td>
        <td width="463">
            <p>Mercredi</p>
        </td>
    </tr>
    <tr>
        <td width="463">
            <p>ID</p>
        </td>
        <td width="463">
            <p>d</p>
        </td>
        <td width="463">
            <p>4</p>
        </td>
        <td width="463">
            <p>Jeudi</p>
        </td>
    </tr>
    <tr>
        <td width="463">
            <p>ID</p>
        </td>
        <td width="463">
            <p>e</p>
        </td>
        <td width="463">
            <p>5</p>
        </td>
        <td width="463">
            <p>Vendredi</p>
        </td>
    </tr>
    <tr>
        <td width="463">
            <p>ID</p>
        </td>
        <td width="463">
            <p>f</p>
        </td>
        <td width="463">
            <p>6</p>
        </td>
        <td width="463">
            <p>Samedi</p>
        </td>
    </tr>
</table>';

$Cell=InnerHTML($HTML,'td','id');
print_r($Cell) donnera

Array
(
    [0] => Array
        (
            [0] =>             <p>ID</p><dd>            fgfg</dd>
        
            [1] =>
        <p>a</p>
        
            [2] =>             <p>1</p>

        
            [3] =>
            <p>Lu  ndi</p>
        
        )

    [1] => Array
        (
            [0] =>
            <p>ID</p>
        
            [1] =>
            <p>b</p>
        
            [2] =>
            <p>2</p>
        
            [3] =>
            <p>Mardi</p>

        
        )

    [2] => Array
        (
            [0] =>
            <p>ID</p>
        
            [1] =>
            <p>c</p>
        
            [2] =>
            <p>3</p>
        
            [3] =>
            <p>Mercredi</p>
        
        )

    [3] => Array
        (
            [0] =>
            <p>ID</p>

        
            [1] =>
            <p>d</p>
        
            [2] =>
            <p>4</p>
        
            [3] =>
            <p>Jeudi</p>
        
        )

    [4] => Array
        (
            [0] =>
            <p>ID</p>
        
            [1] =>
            <p>e</p>

        
            [2] =>
            <p>5</p>
        
            [3] =>
            <p>Vendredi</p>
        
        )

    [5] => Array
        (
            [0] =>
            <p>ID</p>
        
            [1] =>
            <p>f</p>
        
            [2] =>
            <p>6</p>

        
            [3] =>
            <p>Samedi</p>
        
        )

)

$Cell=InnerHTML($HTML,'p','',false,10);
print_r($Cell) donnera

Array
(
    [0] => Array
        (
            [0] => ID
            [1] => a
            [2] => 1
            [3] => Lu  ndi
            [4] => ID
            [5] => b
            [6] => 2
            [7] => Mardi
            [8] => ID
            [9] => c
        )

    [1] => Array
        (
            [0] => 3
            [1] => Mercredi
            [2] => ID
            [3] => d
            [4] => 4
            [5] => Jeudi
            [6] => ID
            [7] => e
            [8] => 5
            [9] => Vendredi
        )

    [2] => Array
        (
            [0] => ID
            [1] => f
            [2] => 6
            [3] => Samedi
        )

)
 

Historique

22 juillet 2008 06:16:58 :
Optimisation du code suivant les conseils de Kankrelune

Commentaires et avis

signaler à un administrateur
Commentaire de kankrelune le 15/07/2008 13:28:33

Salut... pourquoi ne pas utiliser DOM pour gérer tout ça... .. ?

@ tchaOo°

signaler à un administrateur
Commentaire de 8Tnerolf8 le 15/07/2008 19:35:21

Bonsoir Kankrelune

Je n'utilise pas le DOM car :

- Je ne retiens pas toutes les valeurs renvoyées par la requête pour l'affichage. En effet, certaines sont présentes pour formater d'autres valeurs qui elles, seront affichées.
Exemple : Pour gérer les alliances dans mon jeu, le joueur a le choix d'afficher ou non son adresse mail dans les pages pour qu'on le contacte directement par ce biais. J'ai donc un champ booléen qui me permet de formater l'adresse du joueur soit en lien mailto, soit en un message "Ne veut pas communiquer son adresse". Le couple <td>...</td> associé à ce champ sera supprimé du html final de la table.

- J'ai un champ d'ID qui est constitué de la concaténation de l'adresse mail des joueurs. Or, pour des raisons de sécurité, je ne veux pas que l'on récupère leur adresse mail, surtout s'ils ont décidé de ne pas les afficher. Je les crypte donc pour qu'apparaisse dans la source l'ID cryptée que je décrypterai ultérieurement.

- J'ai un champ qui renvoie deux valeurs, soit 'Ami', soit 'Ennemi'. En fonction de cette valeur, je transforme le <td>[Ami|Ennemi]</td> en :

<input type="checkbox" name="Case" value="[Cryptage de l'ID cité plus haut]" checked (si la valeur est 'Ami')>

- Je ne suis pas très versé en DOM.

En espérant t'avoir correctement répondu, je te dis au revoir.

Tnérolf

signaler à un administrateur
Commentaire de kankrelune le 15/07/2008 21:13:46

Ok j'avais pas compris... dans ce cas je te pose une autre question... pourquoi stocker du html en bdd ? tu perd en espace de stockage donc au final en perf et surtout en souplesse... imaginons qu'un jour tu veuille rajouter une infos "couleur du caleçon" il faut que tu te retape tous tes membres "les 1 après les autres" pour rajouter une colonne... pourquoi ne pas stocker tes infos dans des champs séparés et les mettre en forme après... .. ?

Ou alors j'ai rien compris à ton explication... lol... .. .

@ tchaOo°

signaler à un administrateur
Commentaire de 8Tnerolf8 le 15/07/2008 21:30:57

En fait, je ne stocke pas de html en bdd.
J'exploite une version améliorée de mon module "TRIE ET FILTRE UNIVERSEL DE REQUÊTES DANS UN FORMULAIRE À PARTIR DE SES CONTRÔLES". Cette version, au lieu d'afficher la page à la volée, stocke l'html généré dans une variable que j'exploite ensuite.
Donc, pour bénéficier de toutes les fonctionnalités offertes par ce module, je préfère extraire la valeur des champs inclus dans les <td> de la table générée plutôt que de me prendre la tête pour :
    - Récupérer les données de la base
    - Les formater comme je l'entends
    - Trouver un moyen d'intégrer ça à mon module.

Le but de cette fonction est vraiment de faire du traitement par lot en fonction des lignes renvoyées.

Bonne soirée

Tnérolf

signaler à un administrateur
Commentaire de kankrelune le 15/07/2008 23:22:45 8/10

Oki je comprend mieux... .. .

Pour ce qui est du code je commente ou bout à bout ce n'est donc pas un jugement de valeur sur le code au complet... .. .

Préfère les comparaisons typé au comparaison non typés tu grappillera un peu en terme de perf et au moins comme ça tu es sûr du contenu de la variable que tu teste... je vois que tu le fais par moment notamment avec les fonctions str**pos n'hésite à l'utiliser dans d'autre contextes/block de condition... .. .

false == 0

mais

false !== 0

sinon au tout début de ta fonction pourquoi fais tu

if(strlen($Prem_val)==0)
{
$Affiche_prems=true;
if($Nbre_bal==0) $Nbre_bal=1;
}
else
{
  $Nbre_bal=0;
}

ton $Nbre_bal est déjà instancié par défaut à 0 et de toute façon tu le change après... de plus le second if est inutile dans le premier bloc mais ça c'est un détail... .. .

if(strlen($Prem_val) === 0)
{
   $Affiche_prems = true;
   $Nbre_bal = 1;
}

ou

if(strlen($Prem_val) === 0)
{
   $Affiche_prems = true;
   $Nbre_bal = 1;
}
else $Nbre_bal = 0;

mais dans ce cas tu peux supprimer le paramètre $Nbre_bal il ne sert plus à rien puisqu'il est de toute façon mis à 1 ou à 0 au début de la fonction

Sinon petit astuce...

if(isset($testStr[0]))

est plus rapide que

if(strlen($testStr) !== 0)

il faut juste que tu soit sûr que $testStr est bien une chaine... .. . ;o)

évite les opérateurs ternaire (ex: $mavar = ($bool) ? 0 : 1;) c'est vrai que c'est pratique , moi même je les utilise de temps à autre, mais ça alourdi le temps d'exécution donc à éviter surtout dans une boucle... .. .

Evite les alias de fonction... je pense notament à sizeof() utilise plutot count() pour 2 raisons la première est qu'un alias peut être facilement amené à disparait dans une version future de php et se palucher tout ses script pour remplacer les alias c'est chiant même avec une moulinette... mais bon ça encore passons, les alias ne sont qu'un appel vers la fonction mère... en gros dans le code source de php, si php était codé en php lol, ça donne...

function sizeof($var) { return count($var); }

donc encore une fois petite perte de perf... et comme il y a pas de petit profit... lol... surtout quand c'est dans une boucle... .. .

++$Compteur; sera mieux que $Compteur+=1; sauf si tu veux utiliser la valeur de ta variable avant de l'incrémenter... la pre incrémentassions est plus rapide d'exécution... .. .

$Taille2=sizeof($Recup[$Taille])==0 ? 0 : sizeof($Recup[$Taille])-1;

pourquoi 2 sizeof() ?

$Taille2 = 0;
if(($size = count($Recup[$Taille])) === 0)
    $Taille2 = $size-1;

Sinon c'est plutot bien codé... le code est propre, bien indenté et commenté... je n'ai pas testé le code et ne me suis pas penché sur la façon dont tu isole tes valeurs (preg/substr) mais ça à l'air de tenir la route... je met 8/10... .. .

@ tchaOo°

signaler à un administrateur
Commentaire de 8Tnerolf8 le 16/07/2008 05:48:02

Bonjour Kankrelune

Tout d'abord un grand merci pour ta note et le temps que tu as pris pour rédiger tes suggestions d'optimisation.

Je n'ai pas fait de comparaison typée car je n'y ai pas pensé, habitué que je suis à évoluer dans un monde VBA. Je vais me pencher sur ce sujet dès que possible afin d'optimiser mon code.

Si, au début, je fais
if(strlen($Prem_val)==0)
{
$Affiche_prems=true;
if($Nbre_bal==0) $Nbre_bal=1;
}
else
{
  $Nbre_bal=0;
}
c'est effectivement pour forcer l'affichage de la première valeur si on choisit de récupérer les lignes par nombre et pas par valeur.
Je te rejoins dans l'inutilité du else.

Je n'ai pas utilisé if(isset($Prem_val) car cette variable est affectée par défaut à une valeur vide dans la déclaration de la fonction.

Concernant les opérateurs ternaires, préconises-tu de les remplacer par
if(...)
{
...
}
else
{
...
} ?

Dès que possible, je tirerai profit de tes conseils et suggestions et adapterai le code de cette fonction en conséquence.

Bonne journée.

Tnérolf

signaler à un administrateur
Commentaire de kankrelune le 16/07/2008 10:58:06

Salut

"Je n'ai pas utilisé if(isset($Prem_val) car cette variable est affectée par défaut à une valeur vide dans la déclaration de la fonction."

Je n'ai pas compris... .. .

"Concernant les opérateurs ternaires, préconises-tu de les remplacer par"

Oui tout à fait le bloc de condition classique est bien plus rapide d'éxécution (2 à 3 fois si je me souviens bien)

@ tchaOo°

signaler à un administrateur
Commentaire de 8Tnerolf8 le 16/07/2008 19:02:08

Bonsoir

Merci pour tes précisions concernant la différence de temps d'exécution entre l'opérateur ternaire et le if classique.
A mon tour de m'expliquer :

function InnerHTML($HTML,$Balise,$Prem_val='',$Affiche_prems=true,$Nbre_bal=0)

Tu peux remarquer que $Prem_val est initialisée à vide si aucune valeur n'est passée en paramètre. Donc, la variable est déclarée et un isset($Prem_val) renverra true.

Bonne soirée.

Tnérolf

signaler à un administrateur
Commentaire de kankrelune le 16/07/2008 20:05:23

Non parce que ce n'est pas la variable en elle même que tu test mais le premier offset de la chaine... lorsque que tu utilise les crochets sur une chaine (ou les accolades mais elle vont disparaitre avec php6) tu pointe sur un caractère de ta chaine en gros ta chaine se comporte comme un tableau où chaque entrée est un caractère... donc...

$str = 'test';
echo $str[0] // affichera t

Si tu regarde le code que je te donne je test la présence du premier caractère dans la chaine... s'il n'y en a pas on peut donc en déduire que la chaine est vide...

$str = 'test';
var_dump(isset($str[0])); // true
$str = '';
var_dump(isset($str[0])); // false

bien entendu si tu fais...

isset($str)

Ca te renverra toujours true vu que la variable existe... .. .

Voili voilou

@ tchaOo°

signaler à un administrateur
Commentaire de 8Tnerolf8 le 17/07/2008 05:26:38

Effectivement, en testant l'indice 0 d'une chaîne de caractère, on peut utiliser isset, mais je trouve que cela revient au même que de tester sur la longueur de la chaîne.

Bonne journée.

Tnérolf

signaler à un administrateur
Commentaire de kankrelune le 17/07/2008 08:54:28

Le résultat est le même mais isset() est plus rapide car ce n'est pas une fonction... .. . ;o)

@ tchaOo°

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

afficher une longue variable php sur plusieurs lignes dans un tableau html [ par bastiencb ] je ne parvient pas à ce que les variables trop longues (un texte entier)que j'extrait de ma base de données mysql s'affichent dans un tableau html sur MySql-Tableau HTML formattée [ par carlitos_brown ] Bonjour à tous,J'ai une table MySql (composée d'un champ titre et d'autres champs ligne1,ligne 2, ligne 3, etc) sur laquelle je fais une reqûete SELEC tableau html vers Mysql [ par logbird1 ] je cherche une fonction qui me permettrais de charger dans une table Mysql un tableau html directement ?qqn a-t-il deja fait cela ?logbird aide sur php-html [ par inba ] Voila j'insere des points dans un tableau html.Ces points sont un fichier *.jpeg.Lorsque j'imprime, les points se sont déplacés et la page s'imprime e tableau dynamique html avec variables php [ par pixelver ] Bonjour,j'aurais voulu savoir comment si prendre pour gerer un tablaeu html dynamiquement a partir de variable php. j'ai une liste de cours et de date xml dans un tableau php! SVG à la clé :) [ par jed35 ] Bonjour je débute en php et évidemment j'ai un probleme. Je cherche à placer des données (qui se trouvent dans un fichier xml) dans un tableau php.voi Supprimer les balises html d'une chaine de caractère [ par SAaD44 ] Salut !Voila, je cherche le moyen de supprimer toutes les balises html (de début et de fin) d'une chaine de caractère.Merci d'avance SAâD Transformation en XML d'un tableau complexe PHP [ par liba ] J'aimerai pouvoir transformer en XML un tableau complexe PHP différent à chaque fois au point de vue de son architecture (composé des divers éléments, Tableau HTML et PHP [ par blob54 ] Salut à tous, Je voulais savoir si c'était possible de récupérer le contenu d'une case d'un tableau HTML dans une variable PHP ?Par exemple, récupére Comment supprimer ce qui a entre des balises html [ par ImmortalPC ] Salut,Comment supprimer ce qui a entre les balises &lt;script&gt;ici ce qui as &#224; supprimer&lt;/script&gt;Je sais supprimer les balises html mais


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.