J'ai une variable contenant une chaîne. La chaîne peut venir de plusieurs façons:PHP: Expression régulière pour supprimer le texte d'une chaîne si la condition est vraie
// some examples of possible string
$var = 'Tom Greenleaf (as John Dunn Hill)'
// or
$var = '(screenplay) (as The Wibberleys) &'
// or
$var = '(novella "Four Past Midnight: Secret Window, Secret Garden")'
Je dois nettoyer la chaîne pour obtenir seulement le premier élément. comme ceci:
$var = 'Tom Greenleaf'
$var = 'screenplay'
$var = 'novella'
Je sais que c'est un peu compliqué à faire mais il y a un modèle que nous pouvons utiliser.
En regardant la première variable, nous pouvons d'abord vérifier si la chaîne contient le texte « (comme ». Si elle fait alors nous devons supprimer « (comme » et tout ce qui vient après.
Dans le deuxième variable la règle que nous avons faite dans le premier s'applique également.Nous avons juste besoin également de supprimer la parenthèse
Dans la troisième variable si '(comme' n'a pas été trouvé, nous devons obtenir le premier mot seulement, puis supprimer le parenthèse
Eh bien, j'ai tout besoin de quelqu'un pour m'aider à le faire parce que je suis nouveau à PHP et je ne connais pas les expressions régulières .... ou une autre façon de le faire.
Merci!
preg_match ('/^(: [^ (] + | \\ ([^ \\ s)] +)/', $ var, $ match); récupère "Tom Greenleaf", "(scénario" et "(novella" – VolkerK
Oui, comment puis-je supprimer la première parenthèse ouvrante dans cas il y en a un ??? – Jonathan
Cela renvoie "Tom Greenleaf", "(scénario" et "(novella" mais avec un espace à la fin du mot. J'ai besoin de nettoyer cet espace. Aussi: Comment puis-je obtenir le résultat dans une variable et non dans un tableau ??? – Jonathan