comment decouper une chaine en fonction d 'une sous 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 : comment decouper une chaine en fonction d 'une sous chaine ?

par dorad » 23 juil. 2006, 02:15

merci de ton aide

voici donc la solution :

$delimiteur="\r\n\r\n";
$Posi= strpos ( $ChainInit, $delimiteur ) ;
$ChainInit=substr ( $ChainInit, 0, $Posi ) ;

ainsi $ChainIinit ne contient plus que la 1ere partie avant les deux sauts de lignes

par Ryle » 21 juil. 2006, 16:26

Tu dois pouvoir le faire avec un strpos() pour trouver la position de ta sous-chaine et avec substr() pour la tronquer, ou bien en utilisant les expressions régulières dans preg_match() par exemple...

Pour retrouver les retours charriots de windows, recherche "\r\n" (qui correspondent respectivement aux 0d 0a), il devrait les retrouver même si tu les as encodé en hexa :)

comment decouper une chaine en fonction d 'une sous chaine ?

par dorad » 21 juil. 2006, 15:55

j ai une chaine $Chain qui contient tout type de caracteres
et notamment des caracteres de saut de ligne 0D0A en hexa

je souhaite ne conserver que la partie qui est avant deux sauts de ligne
0D0A0D0A dans $Chain
j'ai bien dit deux, s'il n'y a qu un saut de ligne, je le garde dans la chaine

si $chain="\0DOAazert\0D0Aqsdfg\0d0a\ghjio\0d0a\0d0Amlkjhetc..etc.."
je souhaite que $Chain devienne donc
"\0DOAazert\0D0Aqsdfg\0d0a\ghjio"

quelle est le plus simple et efficace moyen d y parvenir ?

autre question ? (newbie:;) comment indique t on des caracteres hexa dans une chaine ?