Avatar billede myst1098 Nybegynder
05. februar 2007 - 14:46 Der er 8 kommentarer og
1 løsning

Gennemse streng og find mailadresser

Hvordan gennemser man en streng og finder evt. indtastede mailadresser ?

Min ide er at strengen skal kigges igennem og emailadresser skal ændres til et andet format så de skjules for robotter. Jeg har styr på formatet, det er bare hvordan jeg kigger strengen igennem og retter.
Avatar billede jakobdo Ekspert
05. februar 2007 - 16:11 #1
Først skal du have fat i en regexp som kan finde emailen.
Så skal du splitte emailen op i (TEKST FØR @), @ og (TEKST EFTER @).
Har du styr på regexp?
Avatar billede myst1098 Nybegynder
05. februar 2007 - 16:13 #2
Nops...

Min "mailskjuler" benytter 3 variabler. Før @ efter $ og landekode. Så jeg skal ha splittet den op i 3 bidder.
Avatar billede myst1098 Nybegynder
05. februar 2007 - 16:15 #3
hov... før og efter @... ikke $ :o))
Avatar billede jakobdo Ekspert
05. februar 2007 - 16:27 #4
Prøv at leg med følgende:

if(preg_match_all('/([A-Z0-9._%-]+)@([A-Z0-9.-]+)\\.([A-Z]{2,4})/i', $input, $output))
{
echo '<pre>';
print_r($output);
echo '</pre>';
}
Avatar billede myst1098 Nybegynder
05. februar 2007 - 19:02 #5
Dit eksempel virker fint men det plukker adresserne helt ud af strengen så vidt jeg kan se.

Jeg har en streng som f.eks. hedder "Mailadresserne er hans@hansen.dk og kurt@kurtsen.dk". Jeg skal bruge hele strengen men mailadresserne skal bare skrives anderledes end x@x.xx og derfor skal strengen lige kigges igennem og eventuelle mailadresser skal skrives som et link hvor jeg kan putte før, efter og dk ind i linket som jeg skal bruge det. Linket ser sådan her ud:

<a target="m" href="http://www.side.dk/mail.php?a=kurt&b=kurtsen&c=dk">
<img src="http://www.side.dk/grafik.php?a=kurt&b=kurtsen&c=dk" border="0" align="absbottom"></a>
Avatar billede jakobdo Ekspert
05. februar 2007 - 19:34 #6
Noget i denne stil så:

$input = 'Mailadresserne er hans@hansen.dk og kurt@kurtsen.dk';
$output = preg_replace('/([A-Z0-9._%-]+)@([A-Z0-9.-]+)\\.([A-Z]{2,4})/i', '<a target="m" href="http://www.side.dk/mail.php?a=$1&b=$2&c=$3"><img src="http://www.side.dk/grafik.php?a=$1&b=$2&c=$3" border="0" align="absbottom"></a>', $input);
echo $output;
Avatar billede myst1098 Nybegynder
05. februar 2007 - 21:24 #7
Perfekt.. Smid et svar :o)
Avatar billede jakobdo Ekspert
05. februar 2007 - 21:28 #8
Du får et svar!
Avatar billede jakobdo Ekspert
06. februar 2007 - 07:45 #9
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester