/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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

blacknuss@gmail.com 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> ?

Se nærmere på http://dk2.php.net/preg_replace og et regulært udtryk for
emailadresser. Du kan må finde inspiration her
http://www.regexlib.com/DisplayPatterns.aspx.

--
Med venlig hilsen / Regards
Kasper Garnæs
http://kasper.garnaes.dk



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


Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste