[PHP] Skriva ut variabel i en text från databas?

Permalänk
Medlem

[PHP] Skriva ut variabel i en text från databas?

God eftermiddag.

Topicen är kanske lite otydlig, så jag skall försöka förklara lite närmare vad jag vill göra.

Jag har ett fält i en tabell (I en databas så klart..) som är av typen "tinytext" och som innehåller diverse text blandat med variabler. T.ex Hej $Namn!.
Så min fråga är då, hur gör man för att att den skall skriva ut värdet på variabeln när man använder echo istället för att bara skriva ut namnet på variabeln, i exemplet $Namn?

All hjälp uppskattas.

MvH/Boerworz

Permalänk
Hedersmedlem

Hehe, hade lite samma problem förut, det är löjligt enkelt när man kommer på.
Sök och ersätt (t ex med str_replace) "$namn" mot namnet.

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
Mobil: Moto G200

Permalänk
Medlem

Ah.. Trodde nästan att det var med någon sorts replace, dock kunde jag inte komma på hur det skulle fungera.

Tackar för hjälpen.

MvH/Boerworz

EDIT

Ytterst underligt..
Det fungerade inte med str_replace("$Namn", $Namn, $text);
Jag trodde det berodde på $-tecknet, men det fungerade om man körde med str_replace("$", $Namn, $text); så jag vet inte vad felet beror på..
Kanske någon annan som vet?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Boerworz
[...]

Dubbla citattecken gör att PHP försöker ersätta variabler i strängen. Detta bör dock fungera:

str_replace('$Namn', $Namn, $text);

Notera enkla citattecken ist. för dubbla.

Permalänk
Medlem

Just det.. Det visste jag ju egentligen. Tack så mycket för hjälpen.

MvH/Boerworz

Permalänk
Medlem

Om du vet att du ska formatera om strängen så kan du lika gärna spara placeholders som fungerar med printf.

$hello = "Hej %s!"; $namn = "Boerworz"; printf($hello, $namn); // -> Hej Boerworz!