Besoin d'aide pour une regex

Résolu
postine Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
juliencolin54 Messages postés 217 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai besoin de votre aide ça fait 3 jours j'y bosse.
Je voudrais repérer les phrases interrogative dans une chaine.

$chaine = 'Je m'appelle mélanie, je joue au polo. Et toi comment tu t'appelles ? Je m'appelle jonathan ! Pourquoi tu demande ça ?'

preg_match_all('#.*\?#U', $chaine , $phraseinterrogative);


Après de nombreux test.
Je n'y arrive pas.
Si quelqu'un pouvait m'aider

5 réponses

juliencolin54 Messages postés 217 Date d'inscription   Statut Membre Dernière intervention   55
 
Bonjour,

Moi je ferais
[A-Z].[^A-Z]+\?
.
Après, tout dépend comment tu délimites une "phrase interrogative".

Cdlt,

1
postine Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai encore un problème! Quand la phrase interrogative un nom propre, la moitié de la phrase est tronquée. Comment palier stp?
0
postine Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Alors en partant de ton idée

pour délimiter la phrase:

1) après chaque ponctuation, j'ajoute un caractère
2) je fais explode du caractère
3) Je supprime du tableau chaque entrée qui ne contient pas de point d'interrogation
0
juliencolin54 Messages postés 217 Date d'inscription   Statut Membre Dernière intervention   55
 
Il y a aussi cette solution :
[A-Z][^\n\r\.\?\!]+\?

Là, une phrase commence par une majuscule et contient tout sauf les caractères [\n, \r, ., ?, !] et se termine par un point d'interrogation.

Je ne fais jamais de regex alors sois indulgent ^^
Si ça fonctionne pas, n'hésite pas à redemander.
0
postine Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Parfait Juliencolin 54, ça fonction très bien!

Je fais encore quelques tests mais tu viens juste de me sortir d'une semaine de prise de tête.

Je te vénère.

Doublement résolue !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
juliencolin54 Messages postés 217 Date d'inscription   Statut Membre Dernière intervention   55
 
At your service ;)
0