problem d'expressions régulières

Eléphant du PHP | 135 Messages

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.
Des noeuds au cerveau!

ViPHP
ViPHP | 3607 Messages

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...

Eléphant du PHP | 135 Messages

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
Des noeuds au cerveau!

ViPHP
ViPHP | 3607 Messages

12 avr. 2007, 14:05

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

Eléphant du PHP | 135 Messages

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.
Des noeuds au cerveau!

ViPHP
ViPHP | 3607 Messages

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 ;-)

Eléphant du PHP | 135 Messages

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.
Des noeuds au cerveau!