travail sur chaine de caractère

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 : travail sur chaine de caractère

par sacco » 23 oct. 2006, 21:45

oui je suis d'accord mais cela voudrait dire que je connais la chaine. Alors que le seul param invariable est la position de celle-ci.

En gros il faut que mon pointeur soit à x,y et que je ramasse la chaine de caractère qui suit jusqu'à sa fin

par Hubert Roksor » 18 oct. 2006, 15:07

En fait je pense que la première idée de sacco était la bonne : trouver le premier espace et prendre tout ce qui le précède. Il n'est pas nécessaire d'apprendre les expressions régulières (même s'il faudra bien qu'il s'y mette un de ces jours ;)) ou décomposer toute la chaîne avec explode() (plutôt gourmand en ressources).

Donc pour en revenir au problème, comment trouve-t'on le premier espace ?
$pos = strpos($chaine, ' ');
S'il n'y a pas d'espace, strpos() renverra FALSE. On a qu'à ajouter un "if" pour vérifier ce cas. Attention à ne pas confondre "FALSE" et "0" (voir le manuel de strpos()).
if ($pos !== FALSE)
{
   $chaine = substr($chaine, 0, $pos);
}
Et voilà, s'il y a un espace, $chaine est tronquée jusqu'au premier espace.

@sacco: ce forum est réservé aux problèmes spécifiques à PHP 5, je déplace ce sujet dans le forum pour débutants.

par goeb » 18 oct. 2006, 13:05

ou bien tu peux faire :
$s = "12334tontexte 7777";
$s = substr($s, 5); // "tontexte 7777"
list ($a, $b) = explode(" ", $s, 2); // $a contient "tontexte"

par BeRoots » 17 oct. 2006, 18:40

si je comprend bien, tu veut récuperer le début de la chaine jusqu'au premier espace exclus :-k

si c'est bien ça, regarde le tutoriel de ripat sur les expressions regulière car tu va devoir utiliser une regex et la fonction preg_match() ;)

TUTORIEL DE RIPAT

travail sur chaine de caractère

par sacco » 17 oct. 2006, 18:13

Bonjour,

je cherche comment effectuer grace a strpos et substr à récuperer une chaie variable par son nombre de caractère mais toujours à la même position.

Je sais utiliser strpos et substr avec des positionnement fixe .

Pour résumer si je dois récuperer une chaine et m'arrêter dès que je trouve un espace donc fin de la chaine

mercii pour info