webForumDet fria alternativet

preg_replace byt ut sökt sträng mot en funktion

PHP

2 svar · 221 visningar · startad av The_Hulk

Medlem sedan juni 20031 837 inlägg
Frågan#1

Hej!

Går det att byta ut det sökta mot returvärdet av en funktion som man anropar med det man sökte efter?
ex:

// Letar upp ID i databas och returnerar Beteckning
function minFunktion($id)
{
    // massa databaskod
    return "...";
}

$text = "detta är ett ID 123";

$nytt = preg_replace("/(\d+)/", minFunktion("$1"),$text);

förstår ni hur jag menar?

Medlem sedan aug. 20002 975 inlägg
#2

Det ska gå med:

$nytt = preg_replace("/(\d+)/e", "minFunktion('$1')", $text);

eller troligtvis mer rätt:

$nytt = preg_replace("/(\d+)/e", "minFunktion($1)", $text);
Medlem sedan juni 20031 837 inlägg
#3

Matte skrev:

Det ska gå med:

$nytt = preg_replace("/(\d+)/e", "minFunktion('$1')", $text);

Denna fungerade, tack så jätte mycket för hjälpen.

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)