Vous utilisez un navigateur obsolète, veuillez le mettre à jour.
Veuillez utiliser un navigateur internet moderne avec JavaScript activé pour naviguer sur OpenClassrooms.com
Une question ? Pas de panique, on va vous aider !
Bonjour,
Je cherche à boucler une chaine de texte afin de retrouve partout ou j'ai quelque chose qui commence par
$BLOCK_
et fini par un
$
Donc, dans ma chaine de caratere j'ai par exemple
Bonjour, $BLOCK_test$ bla blas
Je cherche donc à retrouver le mot test ou $BLOCK_test$ (il peux y avoir plusieurs balise dans le texte exemple $BLOCK_test$ $BLOCK_test1$ etc)
preg_match_all( '~$BLOCK_', chaine_de_texte, $matches, PREG_PATTERN_ORDER );
Merci d'avance pour votre aide
Vous voulez écrire des regexp mais vous ne les comprenez même pas :
Il y a une incohérence : les balises br font partie du motif ou c'est à cause de l'éditeur ?
~\$BLOCK_[[:alpha:]]+\$~ ?
~\$BLOCK_[[:alpha:]]+\$~
-Edité par julp 26 novembre 2024 à 14:19:07
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
hello, merci pour ta réponse, le br a été ajouté par l'éditeur
Voici le bout de code :
$texte = 'bonjour, $BLOCK_quefamille19$ eee '; echo $texte; if (strpos($texte, "BLOCK_quefamille") !== false){ echo "oui"; preg_match_all( '~\$BLOCK_quefamille[[:alpha:]]+\$~', $texte, $matches, PREG_PATTERN_ORDER ); echo "<pre>"; var_dump($matches); echo "</pre>"; }
le var_dump me retourne bien 1 élément mais vide...
Une idée pour avoir BLOCK_quefamille19$ ou le 19 ?
Merci beaucoup
Autant pour moi, j'avais loupé l'exemple $BLOCK_test1$ où le "marqueur" contient des chiffres, j'avais supposé (que) des lettres => remplace [[:alpha:]] par [[:alnum:]]
$BLOCK_test1$
[[:alpha:]]
[[:alnum:]]
-Edité par julp 26 novembre 2024 à 15:33:55
Vous pouvez rédiger votre message en Markdown ou en HTML uniquement.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli