Bonjour à tous et merci d'avoir pris le temps d'y jeter un coup d'œil.Vérifiez la chaîne pour les mots commençant par le caractère @
Je travaille sur un système de commentaire et au lieu d'utiliser des commentaires imbriqués, je veux juste ajouter la méthode @user pour les réponses.
Alors disons par exemple j'entre ce commentaire:
@moonwalker: Thanks again for your reply.
Je suis à la recherche d'une fonction pour vérifier si un mot commence avec le caractère @ et après que le changement de mot dans un lien. Le problème que je suis face est que les gens vont utiliser des choses comme:
@moonwalker: rest of the message
@moonwalker, rest of the message
@moonwalker rest of the message
ou même utiliser en adresse e-mail dans leurs commentaires.
Existe-t-il un moyen simple d'y parvenir? Preg_match peut-être?
Merci d'avance pour votre aide.
J'imagine que j'utilise preg_match et que je trouve également la correspondance la plus longue qui correspond réellement à un nom d'utilisateur dans la base de données. Pour éviter les interférences de la part des e-mails, n'autorisez pas un caractère avant le @ –
Je ne connais pas PHP mais si vous avez un support pour les expressions régulières, vous pouvez utiliser un regEx comme '^ @ (w /) * $'. Cela correspondrait à une chaîne commençant par un '@', puis n'importe quel nombre de caractères [AZ 0-9], alors vous pourriez utiliser la chaîne renvoyée par n'importe quelle fonction que vous utilisez pour faire ce que vous voulez avec elle comme le transformer en un lien . Est ce que ça aide? –
Découvrez quelques-uns des [outils regex] (http://stackoverflow.com/questions/89718/is-there-anything-like-regexbuddy-in-the-open-source-world) qui pourraient vous aider à tester ou concevoir une expression preg_match. – mario