Fjerne tomme linier i liste

Tags:    php

Hej

Jeg prøver lige at spørge på en naden måde:

Hvordan fjerner jeg de tomme linier der bliver udskrevet med det her script.

Det er mapper med Nymappe i navnet der bliver udskrevet som en tom linie, og jeg vil gerne have dem gjort helt usynlige, eller evt. lagt i bunden af listen når den bliver vist.

Jeg ved ikke hvordan man tilføjer et script på andre måder ind at paste det her.. håber det kan bruges

<html>
<head>
<title>galleri test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body STYLE="background-color:transparent">

<TABLE CELLPADDING="10" cellspacing="1" align="left" >
<tr height="20"><td></td></tr>
<tr>
<td width="30"></td>
<td><h3>Oversigt over alle mapper i galleriet</h3></td></tr>

<tr>
<td width="30"></td>

<td>
<?php
if ($mappe = opendir("galleri")){
//echo "Her er alle mapper med billeder i\\n";
while (false !== ($mappenavn = readdir($mappe))){
//fjerner alle punktummer i $mappenavne - bruges til at liste navnene
$mappenavne = str_replace(".","",$mappenavn);
//$mappenavne = str_replace("Nymappe","Intet indhold",$mappenavne);
//Ændrer ø til %F8 i $link - bruges til link
$link = str_replace("ø","%F8",$mappenavn);
//Hvis der findes en fil i mappen galleri, erstat dens navn med ingenting.
$tal = "Nymappe";
$nymappe = strpos($mappenavne,$tal);
if ($nymappe !== false)
{
$mappenavne = str_replace("$mappenavne","", $mappenavne);
}
if (is_file($mappenavn)){
$mappenavn = str_replace("$mappenavn","",$mappenavn);
echo "<a href=\\"galleri/$link/vis.php\\">$mappenavn</a><br>\\n";}
//ellers list mapper
else {
echo
"<a href=\\"galleri/$link/vis.php\\">$mappenavne</a><br>\\n";}
}
}
?>
</td>
</tr>
</table>
</body>
</html>




4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Hurra - det virkede!

Grunden til at jeg først laver den der $tal=Nymappe, er at den skal kigge om der står "Nymappe" i strengen $mappenavne og hvis der gør skal den fjerne det hele..

Det er muligt du har ret, men jeg forstår vist ikke helt hvad du mener, jeg er rimelig grøn i php..

skal du ikke lige ha de sidste 10 point for at fortælle hvorfor den sætter linksene efter hinanden istedet for under hinanden.
Altså:
Nu skriver den: et link et andet link et tredie link

Før og det skulle den gerne igen:
et link
et andet link
osv



HEHErligt! af en eller anden grund fik udvikleren slettet <br> tagsne? altså i den oprindelige kode stod der <br> efter links'ne (<a....></a><br>;) hvis det er helt rigtig HTML skal der vist stå <br/> derfor:


<?php
if ($mappe = opendir("galleri")){
//echo "Her er alle mapper med billeder i\\n";
while (false !== ($mappenavn = readdir($mappe))){
//fjerner alle punktummer i $mappenavne - bruges til at liste navnene
$mappenavne = str_replace(".","",$mappenavn);
//$mappenavne = str_replace("Nymappe","Intet indhold",$mappenavne);
//Ændrer ø til %F8 i $link - bruges til link
$link = str_replace("ø","%F8",$mappenavn);
//Hvis der findes en fil i mappen galleri, erstat dens navn med ingenting.
$tal = "Nymappe";
$nymappe = strpos($mappenavne,$tal);
if ($nymappe !== false)
{
$mappenavne = str_replace("$mappenavne","", $mappenavne);
}
else
{
if (is_file($mappenavn)){
$mappenavn = str_replace("$mappenavn","",$mappenavn);
echo "<a href=\\"galleri/
$link/vis.php\\">$mappenavn</a><br/>\\n";}
//ellers list mapper
else {
echo
"<a href=\\"galleri/ $link/vis.php\\">$mappenavne</a><br/>\\n";}
}
}
}
?>

det der med \\n har kun en effekt på kildekoden! og vil altså ikke lave et linjeskift på hjemmesiden!

---
Simon



Jeg vil tro at du bare lader være med at udskrive noget hvis "nymappe" findes i navnet, altså:

<?php
if ($mappe = opendir("galleri")){
//echo "Her er alle mapper med billeder i\\n";
while (false !== ($mappenavn = readdir($mappe))){
//fjerner alle punktummer i $mappenavne - bruges til at liste navnene
$mappenavne = str_replace(".","",$mappenavn);
//$mappenavne = str_replace("Nymappe","Intet indhold",$mappenavne);
//Ændrer ø til %F8 i $link - bruges til link
$link = str_replace("ø","%F8",$mappenavn);
//Hvis der findes en fil i mappen galleri, erstat dens navn med ingenting.
$tal = "Nymappe";
$nymappe = strpos($mappenavne,$tal);
if ($nymappe !== false)
{
$mappenavne = str_replace("$mappenavne","", $mappenavne);
}
else
{
if (is_file($mappenavn)){
$mappenavn = str_replace("$mappenavn","",$mappenavn);
echo "<a href=\\"galleri/
$link/vis.php\\">$mappenavn</a>\\n";}
//ellers list mapper
else {
echo
"<a href=\\"galleri/ $link/vis.php\\">$mappenavne</a>\\n";}
}
}
}
?>

Men så skal koden nok rettes lidt til hehe :)

Jeg forstår ikke helt hvorfor du fx gemmer : $tal = "Nymappe og bagefter søger på $tal i $mappenavne istedet for bare:

$nymappe = strpos($mappenavne,$tal);

er der en eller anden smart fordel ved det? (jeg mener at det fylder 2 linier istedet for en? Men der er måske noget jeg overser?)

---
Simon

[Redigeret d. 19/08-04 17:59:22 af Simon Merlung]



hvad skete der der???

[Redigeret d. 19/08-04 17:59:44 af Simon Merlung]



Hurra - det virkede!

Grunden til at jeg først laver den der $tal=Nymappe, er at den skal kigge om der står "Nymappe" i strengen $mappenavne og hvis der gør skal den fjerne det hele..

Det er muligt du har ret, men jeg forstår vist ikke helt hvad du mener, jeg er rimelig grøn i php..

skal du ikke lige ha de sidste 10 point for at fortælle hvorfor den sætter linksene efter hinanden istedet for under hinanden.
Altså:
Nu skriver den: et link et andet link et tredie link

Før og det skulle den gerne igen:
et link
et andet link
osv



t