webForumDet fria alternativet
Logga in / Bli medlem

Problem med eregi_replace

PHP

2 svar · 150 visningar · startad av Pedda

Medlem sedan juni 20006 031 inlägg
Trådstart#1

Jag har stött på ett problem. Håller på med ett nyhetsscript och har problem med att infoga epost adresser.
Så här ser prompten ut (javascript):

if (action == "email") {
var thisEmail = prompt("Fyll i epostadressen.", "");
var thisTitle = prompt("Fyll i ditt namn", "");
var emailBBCode = "[epost="+thisEmail+"]"+thisTitle+"[/epost]";
revisedMessage = currentMessage+emailBBCode;
document.nyhet.text.value=revisedMessage;
document.nyhet.text.focus();
return;
}

Prompten fungerar, får upp den och fyller i epost och namn.
Har försökt med följande eregi_replace:

$text = eregi_replace("\\[epost\\]([^\\[]*)\\[/epost\\]", "<a href=\"mailto:\\1\">\\2</a>", $text);

Men inlägget blir då så här: [epost=min@epost.se]Pedda[/epost]

Jag är ny på php, så jag vet inte vad jag ska göra. Det är bara eposten jag inte får att fungera, allt annat fungerar. Länkar, bilder och sånt.

Medlem sedan sep. 20021 655 inlägg
#2

Värt att testa, även om jag inte alls är säker på att det är rätt:

$text = eregi_replace("\[epost=([^\]*)\]([^\[]*)\[/epost\]", "<a href=\"mailto:\\1\">\\2</a>", $text);

(När jag använde [ php] runt koden togs backslash bort... jag har ingen aning om varför.)

Medlem sedan juni 20006 031 inlägg
#3

Tackar, nu fungerar det. Ska nu fortsätta med scriptet. Återkommer förmodligen med mer problem senare ;)

380 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
120 ms — deklarationer (db)
125 ms — hämta statistik (db)
126 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)