Jag har märkt att när jag gjorde en meny och använde &-tecknet till menyrubrikerna t ex "Leva & Bo" att ordet efter tecknet inte syns . Vad menas med detta??
Jag använder PHP.
10 svar · 517 visningar · startad av addeweb
Jag har märkt att när jag gjorde en meny och använde &-tecknet till menyrubrikerna t ex "Leva & Bo" att ordet efter tecknet inte syns . Vad menas med detta??
Jag använder PHP.
V i s a k o d e n :)
I vilket sammanhang gäller det?
Hämtar du menyn från en databas eller hur gör du?
Hmm...
Tecknet "&" är speciellt i både HTML och xhtml på så sätt att det inleder ett kodat tecken (som t.ex. ä för 'ä' osv) och tecknet "&" bör/kan/får/whatever därför inte förekomma "fritt" i texter pga att man i vissa fall får fenomenet att ordet efter ett "&" tolkas som ett specialtecken vare sig det är det eller ej...
Blir det bättre om du skriver "Leva & Bo" (alltså om du på ett eller annat sätt byter ut "&" mot "&" i menytexten som du skickar till webbläsaren)?
Jag använder en multidimensionell array för meny som inte är
färdig ännu. Att göra en multidimensionell array är inte
vardagsmat precis men det tar vi inte upp här. Egentliga
problemet är att &-tecknet visas som den ska göra i själva
menyn men inte när bara vänstra ordet visas i fönstertitel,
breadcrumps, sidans rubrik och innehåll. I koden nedan finns
4 olika funktioner...
<?php
// En multidimensionell array med huvudrubriker med egna
underrubriker.
$captions = array( "Leva & Bo" => array("Gaturenhållning", "Hälsoskydd", "Skyddsrum", "Sophämtning", "Snöröjning", "Trafik"),
"Fritid & Kultur" => array("Bibliotek", "Föreningar", "Simhall", "Sporthall"),
"Barn & Skola" => array("Fritidshem", "Grundskola", "Gymnasieskola", "Lekplatser", "Skolmatsedeln", "Skolskjutsar", "Särskola"),
"Hälsa & Sjukvård" => array("Länssjukhus", "Folkhälsa", "Vårdcentraler"),
"Stöd & Omsorg" => array("Budgetrådgivning", "Familjecentralen", "Äldreomsorg", "Färdtjänst"),
"Näringsliv" => array("Industrimark", "Tomtpriser"),
"Turism" => array("Turistbyrå"),
"Om kommunen" => array("Protokoll", "Organisation", "Förtroendevalda"));
// Isset-satser för att kolla vilken rubrik som öppnas.
if ( isset ( $_GET['head'] )) {
$head = $_GET['head'];
$rubr = 'head';
} else if ( isset( $_GET['sub'] ) ) {
$head = $_GET['head'];
$sub = $_GET['sub'];
$rubr = 'sub';
} else {
$head = 'Startsida';
$rubr = 'head';
}
// Funktion som sätter rubrik i titelfönstret.
function setTitle( $rubr, $head, $sub ) {
if ( $rubr == 'head' ) {
echo $head;
}elseif( $rubr == 'sub' ){
echo "$head - $sub";
}
}
// Funktion som sätter rubriker i breadcrumps(hierarki-länkar)
function setBreadCrumps( $rubr, $head, $sub ) {
if ( $rubr == 'head' ) {
echo "<b>$head</b>";
}elseif( $rubr == 'sub' ) {
echo "<a href=\"$PHP_SELF?head=$head\">".$head."</a> / <b>$sub</b>";
}
}
// Funktion som sätter sidans rubrik i högra rutan.
function setCaption( $rubr, $head, $sub ) {
if ( $rubr == 'head' ) {
echo $head;
}elseif( $rubr == 'sub' ) {
echo $sub;
}
}
// Funktion som sätter innehåll under sidans rubrik i högra rutan.
function setContent( $rubr, $head, $sub ) {
if ( $rubr == 'head' ) {
$text = $head;
}elseif( $rubr == 'sub' ) {
$text = $sub;
}else{
$text = "Startsida";
}
for($i = 0; $i < 50; $i++){ // Loopa ut innehåll
echo $text." ";
}
}
?>
<html>
<head>
<title><?=setTitle( $rubr, $head, $sub)?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body { margin-top: 10px; font-family: Verdana; font-size: 11px; }
td { font-size: 11px; }
a:link { text-decoration: none; color: #000000}
a:visited { text-decoration: none; color: #000000}
a:active { text-decoration: none; color: #000000}
a:hover { color: #FF9933;}
.hrubr { font-weight: bold; font-size: 13px; }
-->
</style>
</head>
<body bgcolor="#C2C287" text="#000000" id="all" leftmargin="10" topmargin="10" marginwidth="10" marginheight="10" link="#660000" vlink="#660000" alink="#660000">
<table cellpadding="0" cellspacing="0" border="0">
<tr><td colspan="3" style="height: 50px; background-color: #EEEEEE; border: solid 1px #000000">_</td></tr>
<tr><td colspan="3" height="20">
<!-- Funktionen breadCrumps -->
<?=setBreadCrumps( $rubr, $head, $sub )?>
</td></tr>
<tr><td valign="top">
<table cellpaddin="0" cellspacing="0" border="0"><tr><td style="width: 200px; padding: 5px; border: solid 1px #000000; vertical-align: top">
<?php
// While-each-sats för att lista underrubriker ur arrayen $captions
while(list($index,$head) = each($captions))
{
echo "<span class=\"hrubr\"><a href=\"$PHP_SELF?head=$index\">$index</a></span><br>";
}
?>
</td></tr></table></td>
<td width="10">_</td>
<td style="vertical-align: top; width: 450; border: solid 1px #000000; padding: 5px">
<h4><?=setCaption( $rubr, $head, $sub)?></h4>
<?=setContent( $rubr, $head, $sub )?>
</td></tr>
</table>
</body>
</html>
Jag har prövat med & men det blir inte bättre då heller.
r/ ok, du hann testa ;)
Ingen skilnad med & eller &
Till Pedda:
Jag lagrar menyrubrikerna i en multidimensionell array.
Meny-problem är löst
Förklara gärna hur du löste det istället för att bara skriva "problemet är löst". :)