pb sur manipulation de chaine

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : pb sur manipulation de chaine

par ghalaad » 19 mars 2007, 07:00

SRVIMP est toujours le même ?


$pattern = '/SRVIMP_([0-9]*)/';

et après tu récupères ça avec ereg() et autres preg_*

par sacco » 18 mars 2007, 20:16

ok ça marche j'avais une l'acune sur le explode.

Merci beaucoup

par Invité » 18 mars 2007, 20:00

et pourquoi ne pas faire:
$temp=explode(',',$Jmediatmp);
$Jmedia=$temp[0].$temp[1];

par sacco » 18 mars 2007, 19:17

cela donne

Utilise le média SRVIMP_85, N° série 000085, ID C21E, N° séquence 1

et moi en faisant
   $Jmedia = substr($Jmediatmp,16);
normal je récupère

SRVIMP_85, N° série 000085, ID C21E, N° séquence 1

mais je ne veux pas ", N° séquence 1"

sachant que la ligne récupéré ne fait pas obligatoirement la même longueur.

par jojolapine » 17 mars 2007, 11:48

fait un echo $row3['JAction']; dans ta boucle, et montre nous ce que ça donne...

par sacco » 17 mars 2007, 11:43

lorsque je passe par un explode il me met array
mon code pour cela est
$query = 'SELECT JAction FROM journal WHERE JInfo = \''.$JInfo1.'\' and JAction like \''.$Jmed.'\'';  		 			 
	
	foreach ($sqldb3->query($query) as $row3){$Jmediatmp=$row3['JAction'];
		                                    $Jmedia=explode(',',$row3['JAction']);
		                                    // $Jmedia = substr($Jmediatmp,16);
		                                     
	                                          }

par Ryle » 17 mars 2007, 11:36

La fonction substr() sert à couper une chaine, cela ne peut donc pas marcher si ta variable est un tableau. Il faut commencer par retrouver ta chaine pour pouvoir travailler dessus... ;)

Tu pourras alors très bien faire un explode() sur la virgule et récupérer les éléments dont tu as besoin, ou bien même utiliser substr() et strpos().
explode (',' , $Jmediatmp['indexDuTableauContenantLaChaine'] );
Nota : le 2è paramètre passé à substr est l'index de début, si tu veux les 16 premiers caractères, c'est substr($maChaine, 0, 16) qu'il te faut faire.

pb sur manipulation de chaine

par sacco » 17 mars 2007, 11:23

Bonjour,

je voudrais extaire le début d'une chaine qui n'est jamais identique mais qui a toujours une occurence ","

ex :
SRVIMP_85, N° série 000085, ID C21E, N° séquence 1

donc la chaine que je veux récuperer est
SRVIMP_85, N° série 000085

j'ai fait
 $Jmedia = substr($Jmediatmp,16);
mais me renvoie tout

je ne peux pas utiliser un explode car $Jmediatmp est de type array

merci d'avance pour astuce