problem d'expressions régulières

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 : problem d'expressions régulières

par Davee » 12 avr. 2007, 14:25

parce qu'en fait c'était tout simple et que je suis parti sur des plans de comètes à n'en plus finir.
si je met pas résolu tout de suite c'est parce que j'aurais peut-être une question sur le sujet encore, mais je n'y manquerais pas.

Merci
David.

par jojolapine » 12 avr. 2007, 14:20

pourquoi c'est drole ? :roll:
En tout cas n'oublie pas de cliquer sur le bouton résolu en haut à gauche du sujet ;-)

par Davee » 12 avr. 2007, 14:17

Ha ben oui, ben là,
C'est très drôle ce qui vient de ce passer. Très drôle ! :?

:D En tout les cas merci.
David.

par jojolapine » 12 avr. 2007, 14:05

allez hop, pour t'éviter de réinventer la roue:
http://fr.php.net/manual/fr/function.trim.php

par Davee » 12 avr. 2007, 13:58

Je vais essayer de faire simple.
Des données (listes de mots) arrivent de formulaires type="checkbox" sous forme de tableau
ARRAY([0]=>mot(1) [n]=>mot(n)...)
Et, d'autres données arrivent de formulaire: type="text" (séparé par une virgule).
mot(1),mot(n),....

Toutes ces données sont concaténées en une chaine de caractères pour être nettoyé de tous les parasites espace ou caractères spciaux pour ne garder que les mots séparés par une virgule.
Il ne faudrait pas qu'il y ait de virgule au début ni à la fin car j'explose ensuite cette chaîne et il ne faut pas qu'il y ait de champs vide.

bon je met le code:
$check = (isset($_POST["check"]) && is_array($_POST["check"]))? $_POST["check"] : array();  
$list= (isset($_POST["list"])) ? $_POST["list"]:1;

$comba = implode (',', $check).','.$list;
$combb= preg_replace('/(,+)$/', '', $comba);
$combc= strtolower( str_replace(' ','',$combb));
$combd=explode (',',$combc);
$unikComb= array_unique ($combd);
$combKey=implode (',',$unikComb);
echo $combb.'<br>';
print_r ($combd);
echo '<br>';
print_r ($unikComb);
echo '<br>';
echo $combKey.'<br>';
J'espère que c'est assez claire. j'ai fait de mon mieux.

Merci.
David

par jojolapine » 12 avr. 2007, 13:21

montre nous tout d'abord "l'allure" de tes chaines au départ, et comment tu souhaites qu'elles deviennent...

problem d'expressions régulières

par Davee » 12 avr. 2007, 12:50

Bonjour,
voilà, j'aimerais enlever des caractères en début et fin de chaîne, mais j'ai des problèmes avec certains meta-caractères.
$combKey= preg_replace('/^(,+)$/', '', $combimp);
Avec l'un ou l'autre des deux meta '^' et '$' l'expression marche mais pas avec les deux.
Comment résoudre ça?

Merci d'avance.

David.