Avatar billede meek Nybegynder
16. oktober 2003 - 11:10 Der er 7 kommentarer og
1 løsning

problem med ereg_replace

Hej eksperter;

sidder her og roder med ereg_replace. Har et mærkeligt problem. Jeg bruger en javascriptfunktion til at konvertere en krypteret emailadresse tilbage til den originale adresse. Dette virker fint:

$n = ereg_replace("mailto:info@funky.dk?subject=", "java script:linkTo_UnCryptMailto('lqirCixqn|1gn');", "<a href=\"mailto:info@funky.dk?subject=\" target=\"_self\" >info@funky.dk</a>");
echo "n: ".$n."<br>";

Men så snart der kommer et "?" på med et subject så replacer den ikke:

$n = ereg_replace("mailto:info@funky.dk", "java script:linkTo_UnCryptMailto('lqirCixqn|1gn');", "<a href=\"mailto:info@funky.dk\" target=\"_self\" >info@funky.dk</a>");
echo "n: ".$n."<br>";

Hvad gør jeg galt?
Avatar billede meek Nybegynder
16. oktober 2003 - 11:16 #1
Avatar billede meek Nybegynder
16. oktober 2003 - 11:17 #2
hvis jeg erstatter ?subject med eks !subject så virker det uden problemer... hvad gør ?-tegnet.. er det noget regexp?
Avatar billede codebase Praktikant
16. oktober 2003 - 11:40 #3
brug addslashes
Avatar billede codebase Praktikant
16. oktober 2003 - 11:41 #4
href=\"mailto:info@funky.dk?subject=\"
skal være
href=\"mailto:info@funky.dk\?subject=\"
Avatar billede meek Nybegynder
16. oktober 2003 - 11:49 #5
det virker ikke...
Avatar billede meek Nybegynder
16. oktober 2003 - 11:55 #6
en simplificering:

Virker
$n = ereg_replace("test", "erstattet", "Dette er en tekst test");

Virker ikke
$n = ereg_replace("tes?t", "erstattet", "Dette er en tekst tes?t");

Virker
$n = ereg_replace("test?", "erstattet", "Dette er en tekst test?");

Så snart der indgår et "?" som IKKE er placeret sidst i strengen så går det galt! Det må være noget regexp?
Avatar billede codebase Praktikant
16. oktober 2003 - 12:10 #7
echo ereg_replace("\?", "\\?", "hejsa escape lige dette ? ok");
Avatar billede meek Nybegynder
16. oktober 2003 - 12:16 #8
det virker..... tak!
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