|
| Find emailadresse i tekst Fra : blacknuss@gmail.com |
Dato : 13-05-05 09:45 |
|
Er der nogen, der har en snedig måde at finde emailadresser i en
streng og flankere dem med <a href=mailto:...> og </a> ? Jeg laver en
slags CMS, der skal være så simpelt for brugeren som overhovedet
muligt, så jeg vil undgå at brugeren skal markere mailadresser med
tags, som så erstattes med <a...> og </a> (det ville ellers være det
nemmeste at programmere).
En løsning kunne være at explode med '@' og så flikke adresserne
sammen med de hele strenge før og efter @'et (evt. efter endnu en
explode med ' '), og så til sidst samle teksten igen med implode. Det
virker bare lidt bøvlet... Så, er der nogen, der har en smart metode
og/eller et link til et script?
Med højagtelse,
/Jens
| |
Kasper Garnaes (13-05-2005)
| Kommentar Fra : Kasper Garnaes |
Dato : 13-05-05 10:52 |
| | |
Thomas Lindgaard (14-05-2005)
| Kommentar Fra : Thomas Lindgaard |
Dato : 14-05-05 09:45 |
|
On Fri, 13 May 2005 01:44:37 -0700, blacknuss wrote:
> Er der nogen, der har en snedig måde at finde emailadresser i en
> streng og flankere dem med <a href=mailto:...> og </a> ? Jeg laver en
> slags CMS, der skal være så simpelt for brugeren som overhovedet
> muligt, så jeg vil undgå at brugeren skal markere mailadresser med
> tags, som så erstattes med <a...> og </a> (det ville ellers være det
> nemmeste at programmere).
>
> En løsning kunne være at explode med '@' og så flikke adresserne
> sammen med de hele strenge før og efter @'et (evt. efter endnu en
> explode med ' '), og så til sidst samle teksten igen med implode. Det
> virker bare lidt bøvlet... Så, er der nogen, der har en smart metode
> og/eller et link til et script?
Som Kasper siger: regulære udtryk er vejen frem... lad $str i kaldet
herunder være din tekst som email'ificeres.
preg_replace('_([a-z0-9-\.]+@[a-z0-9-]+(\.[a-z0-9-]+)*)_i', '<a
href="mailto:\\1">\\1</a>', " $str ");
> Med højagtelse,
Joh tak.
> /Jens
--
Mvh.
/Thomas
| |
|
|