[Php-it] espressione regolare per trovare BBcode email

petdog petdog at gmail.com
Wed Apr 12 22:10:37 CEST 2006


On 4/12/06, spacemarc wrote:
> Non riesco a far funzionare questa regexp (sicuramente sbagliata) per
> prendere un bbcode come questo:
> [email=tuonome at email.it]scrivimi[/email]
>
> "{\[email=(=)(['\"]?)([a-zA-Z0-9\._-]+@(([a-zA-Z0-9_-])+\.)+[a-z]{2,6})([^;<>\*\(\)\"\s]*)(\[/email\]}"
> "<a href=\"mailto:\\3\\4\">\\5</a>"
>
> Visualizzo sempre il bbcode tra le quadre. Dove sbaglio?

Tralascio la fase di comprensione di questa regexp (che mi pare un po' "strana")
proponendone un'altra:

/\[email=(\w[\w\-\.\+]*?@\w[\w\-\.]*?\w\.[a-z]{2,4})\](.+)?\[\/email\]/

e quindi <a href=\"mailto:\\1\">\\2</a>

la regexp per il controllo dell'email l'ho scritta io, non so se è
perfettamente rfc-compliant, ma ha sempre funzionato bene :)


More information about the Php-it mailing list