Aller au contenu

Probleme affichage regex chaine


sandrinoo

Sujets conseillés

Bonjour à toutes et à tous,

Je sui graphiste et commence tout juste à m'intéresser au expressions régulières car j'en ai besoin pour un client.

(bref la programmation n'est pas mon fort).

Je voudrais n'afficher d'une chaine que ce qui se trouve avant un point (le . de la ponctuation).

Je fais donc :

$reg = '/^(.+?)[.].*$/';
$str = "a. b";
print_r (preg_replace($reg, '$1', $str));

Et cela marche : je n'ai que le a qui s'affiche.

Maintenant je voudrais n'afficher que ce qui se trouve après ce point (le B) : et c'est là que je sèche.

comment modifier ? :

$reg = '/^(.+?)[.].*$/';

Si quelqu'un voulait me répondre ça serait sympa...

sandy.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Perso, j'aurais plutot fait comme ca :

$str = 'a. b. c. d. e. f';

$Liste = explode('.', $str);

for ($i=0;$i<count($Liste);$i++){

print $Liste[$i] . "<br>";

}

après tu peux traiter chaque élément comme tu veux dans ta boucle...

Bon courage !

Lien vers le commentaire
Partager sur d’autres sites

Si tu veux continuer d'utiliser ton expression régulière, il va falloir ajouter un second jeu de parenthèses (Ce sont elles qui "capturent" les morceaux de texte que tu peux réutiliser).



$reg = '/^(.+?)[.](.*)$/';
$str = "a. b";
echo(preg_replace($reg, '$1', $str));
echo(preg_replace($reg, '$2', $str));

Mais comme l'a fait remarquer BlackPage, pour séparer simplement des chaînes de caractères quand il y a un motif simple de séparation, explode() est tout indiqué.

PS : echo() me semble plus approprié dans le code que print_r() : echo() est destiné à une chaîne de caractères, et print_r() à un tableau ou un objet.

Lien vers le commentaire
Partager sur d’autres sites

Merci à tous les 2.

Ta solution, captain-torche, me convient à merveille !

C'était tout simple en fait.

Je commence tout juste à apprendre les expressions régulières.

Merci encore à toi.

Bonne journée.

Sandy.

Lien vers le commentaire
Partager sur d’autres sites

Tu vas voir, c'est pas si compliqué que ça en a l'air !

Pour continuer à apprendre, je ne saurais que te conseiller de débuter avec http://www.expreg.com/ (Même s'il est à l'abandon), puis de continuer (Dès que tu as bien appris les bases) avec http://www.lumadis.be/regex/tuto_pcre.php

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...