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

  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU]couper un string

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU]couper un string

n°1915959
brainoutso​urcing
Posté le 17-08-2009 à 20:01:22  profilanswer
 

Bonjour,  
 
J'aimerais couper des mots contenu dans un string suivant un groupe de caractere contenu dans ce srting et les mettre dans un tableau, par exemple:
sdsdsd 1111 dsdsdsd 1111 sdsdsdd 11111
 
 
Ne couper que lorsqu'il y a des 1111
Le resultat donnerait dans un tableau:
 
sdsdsd dsdsdsd sdsdsdd  
 
Merci


Message édité par brainoutsourcing le 29-08-2009 à 10:28:58

---------------
Externalisation de travaux web et graphiques (au minimum 25% d'économies constatées par rapport à la France) => www.brainoutsourcing.com
mood
Publicité
Posté le 17-08-2009 à 20:01:22  profilanswer
 

n°1915960
stealth35
Posté le 17-08-2009 à 20:03:41  profilanswer
 

tu pourrais faire :  
explode(' 1111 ', $str)
 
apres si ton nombre est different, un coup de regexp et ca fera l'affaire

n°1916388
brainoutso​urcing
Posté le 19-08-2009 à 06:00:30  profilanswer
 

En fait ma string est compise de la maniere suivante :
wdsdssada <BR> dsddsd <BR> dsdsd <BR>
 
Tout ce texte est contenu dans un seul champ de ma BDD, j'ai besoin de creer des champs independants pour chaque elements contenu entre les <BR>
 
J'ai donc besoin d'eclater cette string suivant les separateurs <BR>
 
est ce que cela peut marcher avec l'explode ?


---------------
Externalisation de travaux web et graphiques (au minimum 25% d'économies constatées par rapport à la France) => www.brainoutsourcing.com
n°1916420
pataluc
Posté le 19-08-2009 à 09:18:21  profilanswer
 

brainoutsourcing a écrit :

est ce que cela peut marcher avec l'explode ?


est-ce que tu as essayé?


Message édité par pataluc le 19-08-2009 à 09:18:31
n°1916441
infoman64
JE SUIS LA POUR TOI MON AMI
Posté le 19-08-2009 à 10:02:24  profilanswer
 

moi j'utilise la fonction split, ca marche trés bien pour faire ce genre de chose
apres peut etre que l'autre est mieux, je la connais pas.

n°1916530
brainoutso​urcing
Posté le 19-08-2009 à 11:33:08  profilanswer
 

Je vais essayer split en effet.
 
MErci pour le retour


---------------
Externalisation de travaux web et graphiques (au minimum 25% d'économies constatées par rapport à la France) => www.brainoutsourcing.com
n°1916550
jordel
Elven Powaaa
Posté le 19-08-2009 à 11:45:46  profilanswer
 

Les filles n'aiment pas qu'on coupe leur string... (ça c'est fait)  :D  
 
Sinon... je préfère utiliser explode() qui est plus rapide, de manière générale, que split().
Mais bon, après ça reste du "fignolage"... :)

n°1916788
brainoutso​urcing
Posté le 19-08-2009 à 17:42:47  profilanswer
 

AAhhh !!
Ca ne semble pas marcher chez moi .
 
Jai ce code :
 
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
$data = mysql_fetch_array($req);  
mysql_free_result ($req);  
mysql_close ();  
 
 
echo "data";
echo $data['product_attribute'];
$res = $data['product_attribute'];
echo "res" ;
echo $res;
 
//$tableau=split('<BR>',$chaine);
$tableau=explode('<br/>', $chaine) ;
echo "TABLEAU";
echo $tableau [3];
 
 
 
Le resultat donne  
 
sdssdsdsd
sd
sd
ssd
s
dss
ds
d
 
Mais le echo Tableau n'affiche rien


---------------
Externalisation de travaux web et graphiques (au minimum 25% d'économies constatées par rapport à la France) => www.brainoutsourcing.com
n°1916813
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 19-08-2009 à 18:35:21  profilanswer
 

si "tableau" est un array, c'est normal.
 
il faut faire print_r($tableau) pour l'afficher.


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1916825
brainoutso​urcing
Posté le 19-08-2009 à 20:06:51  profilanswer
 

il m'affiche cela now:
 
Array ( [0] => )


---------------
Externalisation de travaux web et graphiques (au minimum 25% d'économies constatées par rapport à la France) => www.brainoutsourcing.com
mood
Publicité
Posté le 19-08-2009 à 20:06:51  profilanswer
 

n°1916894
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 20-08-2009 à 00:17:25  profilanswer
 

tu fais $tableau=explode('<br/>', $chaine) ; mais es-tu sûr que $chaine contienne <br/> et pas <br> ou <BR> ou <br /> ? (soit dit en passant, il me semble qu'il vaut mieux écrire <br /> à <br/> )


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1917261
brainoutso​urcing
Posté le 21-08-2009 à 07:13:46  profilanswer
 

Totu d'abord merci pour ces reponses:
 
Ma chaine contenu dans le champ de la base de donnee ressemble a cela:
 
First Name: <br/> Surname: <br/> E-mail: <br/> Pick Up Time: <br/> Flight Time: <br/> Drop off at: <br/> Return Time: <br/> Return Flight Time: <br/> Picking up from:


---------------
Externalisation de travaux web et graphiques (au minimum 25% d'économies constatées par rapport à la France) => www.brainoutsourcing.com
n°1917269
brainoutso​urcing
Posté le 21-08-2009 à 09:05:40  profilanswer
 

Exact ca marche now  
 
thanks
 
 
Encore une question:
 
Comme vous pouvez le voir chaque case de mon tableau va contenir:
 
 
 [ AAAAA : BBBBB]  
 
J'ai besoin de former des couples car comme vouspouvez vous en doutez les valeurs entre chaque BR sont  
- Intitule d'un champ de saisie
- Valeur saisie dans ce champ par l'utilisateur
 
 
Je vais avoir besoin de generer dynamiquement (car le nombre d le formulaire de saisie au format HTML afin que l'utilisateur puisse faire des modifs (un formulaire Edit en fait) et cela en fonction :
- du nombre de champs present
- en remplissant les champs de saisie
 
J'ai donc besoin de faire un tableau avec deux cases pour chaque valeurs contenues entre chaque BR
 
Comment je peux faire ca ?


Message édité par brainoutsourcing le 21-08-2009 à 09:09:24

---------------
Externalisation de travaux web et graphiques (au minimum 25% d'économies constatées par rapport à la France) => www.brainoutsourcing.com
n°1917340
brainoutso​urcing
Posté le 21-08-2009 à 14:19:28  profilanswer
 

j'ai avance dans mon problem et j'ai ecris le code suivant:
 
$tableau_ini=explode('<br/>', $res);
 
$num_elements_ini=sizeof($tableau_ini);
 
     for($i=0;$i < $num_elements_ini ;$i++)
     {
     $tableau1=explode(':', $tableau_ini [$i]);    
     $num_elements1=sizeof($tableau1);
          for($j=0;$j < $num_elements1 ;$j++)
          {
           // nombre = xxx;
           if ($j%2 == 0)  
           {
           $tableau2_pair [$j]=$tableau1 [$j];
           }  
           else  
           {
           $tableau2_impair [$j]=$tableau1 [$j];
           }
 
          }        
           
           
           //$tableau2_pair[$i]=explode(':',$tableau1[2*$i]);
           //$tableau2_impair[$i]=explode(':',$tableau1[2*$i+1]);
         
     }
     
 
echo "tableau_pair2";
print_r($tableau2_pair);
 
 
echo "tableau_impair2";
print_r($tableau2_impair);
 
 
Le resulatat ca me donne :
 
tableau_pair2Array ( [0] => File 3 Upload ) tableau_impair2Array ( [1] => No File Uploaded )  
 
Comment se fait il qu'il ne garde pas le reste des infos ?


---------------
Externalisation de travaux web et graphiques (au minimum 25% d'économies constatées par rapport à la France) => www.brainoutsourcing.com
n°1917454
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 21-08-2009 à 17:44:22  profilanswer
 

sachant que :
- tu as la condition if ($j%2 == 0)  
- tu incrémentes j de 1 en 1 ;
 
ton modulo sera donc toujours 0 ou 1, tu ne pourras avoir que 2 valeurs au plus ...


Message édité par NewsletTux le 21-08-2009 à 17:44:50

---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1917467
brainoutso​urcing
Posté le 21-08-2009 à 18:42:35  profilanswer
 

Ah zut, j'ai pique cette partie du code sur internet, en fait j'ai besoin de gerer le pair et l'impair et cette condition etait le faire d'avoir un j pair ?


---------------
Externalisation de travaux web et graphiques (au minimum 25% d'économies constatées par rapport à la France) => www.brainoutsourcing.com
n°1917476
brainoutso​urcing
Posté le 21-08-2009 à 19:51:26  profilanswer
 

J'arrive enfin a faire ce que je veux, et voici le code que j'ai:
for($i=0;$i < $num_elements_ini ;$i++)
     {
     $tableau1[$i]=explode(':', $tableau_ini[$i]);
 
Ensuite je recupere mes valeurs comme suit $tableau[1][1] par exemple
 
J'en arrive donc a un point suivant qui est l'affichage de ces variables dans un champ de saisie ou une textarea
 
Pour cela j'utilise cette ligne sur laquelle je vais devoir operer une boucle:
 
echo "<form method=\"POST\" action=\"modifier.php\"><p>Texte : <textarea type=\"text\" name=\"texte\" value=\"" . $texte . "\"></textarea><br /><input type=\"submit\" value=\"Modifier\"></p></form> ";
 
 
Cependant, je pense qu'il y a un probleme dans la syntaxe car la valeur ne s'affiche pas dans le champ.
 
Quelqu'un peut m'aider?
 


---------------
Externalisation de travaux web et graphiques (au minimum 25% d'économies constatées par rapport à la France) => www.brainoutsourcing.com
n°1917487
brainoutso​urcing
Posté le 21-08-2009 à 20:38:57  profilanswer
 

Bon ba finalement ca marche mon affaire j'arrive a pre remplir et a generer mes champs grace a ca:
 
for($i=0;$i < $num_elements_tableau1 ;$i++)
     {
$champ[i]=trim ($tableau1[$i][1]);
$title[$i]=$tableau1[$i][0];
echo "<form method=\"POST\" action=\"modifier.php\"><p>".$title[$i]. " : <textarea name=\"texte\">" .$champ[i]. "</textarea><br /><input type=\"submit\" value=\"Modifier\"></p></form> ";  
 
}
?>
 
Je dois faire la reconstruction de la chaine now pour ensuite tout renvoyer a la base avec un update


Message édité par brainoutsourcing le 21-08-2009 à 20:39:57

---------------
Externalisation de travaux web et graphiques (au minimum 25% d'économies constatées par rapport à la France) => www.brainoutsourcing.com
n°1917666
Je@nb
Kindly give dime
Posté le 23-08-2009 à 17:56:43  profilanswer
 

Pour couper un string faut utiliser sa byte :o


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

  [RESOLU]couper un string

 

Sujets relatifs
Intitulé d'un évènement sur 2 listes déroulantes [RESOLU][Résolu] [vba] aide à la syntaxe pour la dimension d'un tableau
[Résolu] Placer le code source d'une page web en buffer (Winnet)[VBS] Comparaison de dates (résolu)
Menustrip à placer n'importe où [RESOLU][Résolu] Commander une LED reliée au port //
Fichier excel généré qui a une taille anormale [RESOLU]PhpAdmin : connexion impossible sous Wampserver [Résolu]
[Divers][Lecture]Utilisation de la bibliothèque portmidi : Pm_Read() 
Plus de sujets relatifs à : [RESOLU]couper un string


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