Ahhh les guillemets !!! ??? Concatenation, Replace, j'y arrive pas !

Ahhh les guillemets !!! ??? Concatenation, Replace, j'y arrive pas ! - PHP - Programmation

Marsh Posté le 21-12-2006 à 22:44:42    

je rentre une valeur : $input à partir d'un champ textbox
je veux que le client ait la possibilité de saisir son texte entre guillemets
ensuite je recherche  
 
if (substr($input, 0, 1) = '\"' )
 {
  $indic = "1";
 }

(premier caractère = guillemet)
 
le problème c'est au niveau de la concatenation
quand je veux ré-utiliser la chaine, j'applique un  
 
$input = str_replace(\"', "", $input);
 
et là ça plante, la chaine retournée contient toujours un antislash qui met la zone...
quelqu'un pourrait m'expliquer ?
je voudrais en fait resortir un texte rentré entre guillemets.
s'il est saisi entre guillemets, la balise $indic est activée et le texte est "nettoyé" de ses guillemets.
 
MERCI


---------------
http://www.ypikay.com
Reply

Marsh Posté le 21-12-2006 à 22:44:42   

Reply

Marsh Posté le 21-12-2006 à 23:20:41    

$input = preg_replace('/^"(.*)"$/', '\1', $input);

Reply

Marsh Posté le 21-12-2006 à 23:21:58    

merci donc cette instruction remplace tous les car. "polluants" c'est ca ?

Reply

Marsh Posté le 21-12-2006 à 23:24:26    

Si y a des guillemets en début et fin de chaîne, ça les vire (si y en a juste un au début ou à la fin, ça ne marche pas).
 
Tu peux combiner avec trim() si nécessaire.

Reply

Marsh Posté le 21-12-2006 à 23:25:23    

d'accord je vais voir ça je te remercie beaucoup

Reply

Marsh Posté le 21-12-2006 à 23:30:39    

Bon en même temps y a pas besoin d'une regexp pour ça, je me suis un peu enflammé.
 

Code :
  1. $len = count($input);
  2. if ($input[0] == '"' && $input[$len - 1] == '"') {
  3.     $input = substr($input, 1, $len - 2);
  4. }

Reply

Marsh Posté le 21-12-2006 à 23:31:25    

YES excellent ce code...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed