barentshavet Skrevet 16. desember 2012 Del Skrevet 16. desember 2012 Hei. Jeg lurer på om det er noen som kan hjelpe meg med dette problemet. Jeg ønsker muligheten for template-variabler slik at: if($comments==1) { echo "hei"; } kan gjøres om til for eksempel: <IfCommentsAllowed> </IfCommentsAllowed> slik at man kan skrive det rett inn i HTML. Noen som har erfaringer med dette og kan hjelpe meg ut? Lenke til kommentar
Alex Moran Skrevet 16. desember 2012 Del Skrevet 16. desember 2012 (endret) Hvis du vil bruke <IfCommentsAllowed> and family, må du lage en template engine som kan parse HTML-en og gjøre det du ønsker, dette kan bli temmelig avansert og jeg er usikker på om det eksisterer noen *gode* biblioteker som gjør akkurat dette (bruke html-tags for logikk). Alternativet er å bruke f.eks. Twig, som er en template engine med en litt annen syntaks, eller rett og slett bare bruke PHP, som er et OK template-språk i seg selv (spes. med alternativ syntaks). <? if ($comments == 1): ?> Hei <? endif; ?> Endret 16. desember 2012 av Alex Moran Lenke til kommentar
etse Skrevet 16. desember 2012 Del Skrevet 16. desember 2012 Du må kjøre templatet gjennom en script i noe denne duren Index.php switch($page): case "index": $page = generateFromTemplate("index.html"); case "about": $page = generateFromTemplate("about.html"); echo $page; og "GenerateFromTemplate" funksjonen kan du da fjerne <IfCommentsAllowed> (med innhold) om comments er diabled function generateFromTemplate($templateFile) { $file = file_get_contents($templateFile); if($commentsEnabled == False) { $pattern= '/<IfCommentsAllowed>(.?)</IfCommentsAllowed>/'; $file = preg_replace($pattern, ' ', $file); } } Altså bruke regexp til å finne alle tilfeller av den tagen og fjerne den, med alt innhold. 1 Lenke til kommentar
barentshavet Skrevet 17. desember 2012 Forfatter Del Skrevet 17. desember 2012 Du må kjøre templatet gjennom en script i noe denne duren Index.php switch($page): case "index": $page = generateFromTemplate("index.html"); case "about": $page = generateFromTemplate("about.html"); echo $page; og "GenerateFromTemplate" funksjonen kan du da fjerne <IfCommentsAllowed> (med innhold) om comments er diabled function generateFromTemplate($templateFile) { $file = file_get_contents($templateFile); if($commentsEnabled == False) { $pattern= '/<IfCommentsAllowed>(.?)</IfCommentsAllowed>/'; $file = preg_replace($pattern, ' ', $file); } } Altså bruke regexp til å finne alle tilfeller av den tagen og fjerne den, med alt innhold. Takk for hjelpen, igjen! Hjertelig takk Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå