Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1569 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] pb de explode

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] pb de explode

n°449028
goldorak69
Posté le 04-07-2003 à 19:52:29  profilanswer
 

je comprends pas pkoi ca marche pas ca:
 
$tab=explode("*",$text);
 
if (count($tab!=1))
{
$text="";
echo $tab;
echo $tab[1]."  ".$tab[2];
for ($i=0;$i<=(count($tab)-3);$i+2)
{
$temp=$tab[$i]."<font class=sujetstitrefont color=blue>*".$tab[$i+1]."*</font>";
$text=$plus.$temp;
}
$text=$text.$tab[count($tab)-1];
}
else
{
$text=$tab;  
}

mood
Publicité
Posté le 04-07-2003 à 19:52:29  profilanswer
 

n°449031
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 04-07-2003 à 19:57:23  profilanswer
 

Bon alors, plusieurs remarques :
* count($tab!=1) ça t'assure pas que $tab=2. Il peut très bien valoir 0, auquel cas, bam, plantage pour $tab[1], $tab[2], etc...
* montre donc ce que vaut $text au tout début du code, ça aidera peut-être
* la fin, $text=$tab, ne veut rien dire. $tab est un tableau alors que si j'ai bien tout suivi $text est censé être une chaîne.
 
Bref, c'est le bordel.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°449037
goldorak69
Posté le 04-07-2003 à 20:12:05  profilanswer
 

G enlevé le else il servait à rien.
Le but est d'écrire en bleu ce kil y a entre deux * dans un text, par exemple: *coucou* donne *coucou*
 
Deux ptites questions qui pourraient me faire avancer:
*Est-ce ke mon for est bien écrit?
*Ke renvoie explode si $text ne contient pas "*"?
 
$tab=explode("*",$text);
 
if ($tab[0]!=$text)
{
$text="";
for ($i=0;$i<=(count($tab)-3);$i+2)
{
$temp=$tab[$i]."<font class=sujetstitrefont color=blue>*".$tab[$i+1]."*</font>";
$text=$plus.$temp;
}
$text=$text.$tab[count($tab)-1];
}


Message édité par goldorak69 le 04-07-2003 à 20:13:03
n°449060
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 04-07-2003 à 20:27:20  profilanswer
 

Voici mes conseils :
* Comme le dit la doc PHP ( http://www.php.net/manual/fr/function.explode.php ),

Citation :

Si separator contient une valeur qui n'est pas contenue dans string, alors explode() retournera un tableau, contenant la chaîne string entière.


Donc $tab[0] sera égal à $text.
* Maintenant, perso je ne me baserais pas sur explode() mais plutôt substr(). Tu fais substr($text, 0, 1) qui te donne le premier caractère. Tu testes si c'est un *. Idem pour le dernier caractère avec substr($text, strlen($text)-1, 1). Si les 2 sont égaux à "*" et que strlen($text)>2 (histoire que t'aies pas une chaîne composée uniquement de 2 astérisques), alors tu peux faire $val=substr($text,1,strlen($text)-2). Là-dessus, plus besoin de for ou autre, tu fais direct un echo "<font class=sujetstitrefont color=blue>*$val*</font>";
Et c'est fini.
 
* Evite le style SMS dans les posts, c'est rarement très bien apprécié ;)


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] pb de explode

 

Sujets relatifs
Utiliser un proxy en PHPRemplire un formulaire PHP sous Delphi
[PHP] Mettre un argument à un fichier en "include"[PHP MySQL] BDD gérée en live......(jsuis novice)
Question sur les expressions régulières en PHPPHP en ligne de commande et appel de scripts
Equivalent C++ à implode/explode en PHP[PHP]Detecter les adresses IP dans une variable (explode?)
[PHP]Explode($blabla, ;)[PHP] histoire de tableau et de explode
Plus de sujets relatifs à : [PHP] pb de explode


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR