Avatar billede sejoensen Nybegynder
21. januar 2004 - 17:45 Der er 9 kommentarer og
1 løsning

dynamisk <title>

jeg har et problem med at få en dynamisk titel på en hjemmeside..

<?
$en[main] = 'Main';
$da[main] = 'Hovedsiden';
$la = (hentes fra en cookie og kan enten være 'en' eller 'da'...)
?>
<html>
<head>
<title><?= ${$la.'['.$id.']'}; ?></title>
          ------------------- det er denne del af koden jeg ikke kan få til at du.. hvordan skal det stilles op så titlen på siden bliver en variabelværdi hvor variabelnavnet er dels sammensat af en variabel der beskriver sproget og dels en id-variabel med [] omkring.
Avatar billede schaefner Juniormester
21. januar 2004 - 17:49 #1
<?php echo ${$la}[$id]; ?>
Avatar billede limemedia Nybegynder
21. januar 2004 - 17:50 #2
Tilføj en ekstra dimension i arrayet, og det hele er lidt nemmere

<?php
  $lang['en']['main'] = 'Main';
  $lang['da']['main'] = 'Hovedsiden';
  $la = (hentes fra en cookie og kan enten være 'en' eller 'da'...)
?>
<html>
<head>
<title><?php echo $lang[$la]['main']; ?></title>

ps. det er en god ide at vænne sig til at anvende <?php fremfor <?
Avatar billede schaefner Juniormester
21. januar 2004 - 17:50 #3
men det kunne jo også laves sådan:

<?php
$lang['dk']['main'] = 'Mainpage';
$lang['uk']['main'] = 'Forside';

echo $lang[$la][$id];
?>
Avatar billede sejoensen Nybegynder
21. januar 2004 - 18:10 #4
nope duer ikke... men hvis jeg sletter arraysne duer det
<?php
  $enmain = 'Main';
  $damain = 'Hovedsiden';
  $la = (hentes fra en cookie og kan enten være 'en' eller 'da'...)
?>
<html>
<head>
<title><?php echo ${$la.$id}; ?></title>
Avatar billede sejoensen Nybegynder
21. januar 2004 - 18:11 #5
btw... hvorfor <?php fremfor <?... bare et spørgsmål..
Avatar billede limemedia Nybegynder
21. januar 2004 - 18:14 #6
ikke alle udbydere tilbyder shorttags, derfor er din kode "portabel" når du anvender den fulde angivelse. Samtidig kan <? give problemer ved anvendelse af XML og XHTML
Avatar billede Slettet bruger
22. januar 2004 - 00:40 #7
Hvis du absolut ikke vil bruge et dobbelt array, kan du gøre således:

<?
$en[main] = 'Main';
$da[main] = 'Hovedsiden';
$la = (hentes fra en cookie og kan enten være 'en' eller 'da'...)

$tekster=${$la};

?>
<html>
<head>
<title><?php echo $tekster[$id]; ?></title>
Avatar billede Slettet bruger
22. januar 2004 - 00:41 #8
Så skal du bare bruge $tekster['tekstnavn'] alle steder nede i scriptet.
Avatar billede schaefner Juniormester
22. januar 2004 - 00:43 #9
<?php echo ${$la}[$id]; ?> burde virke ganske udemærket, så det undrer mig egentlig lidt at mit svar blev afvist.
Avatar billede Slettet bruger
22. januar 2004 - 01:14 #10
schaefner: Tjah. Og du gav da samme svar som det, der blev accepteret, og på samme tidspunkt - på sekundet.
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