Array opfører sig underligt - Numre ved linieskift
Hej eksperterDen her giver mig hovedpine. Jeg har et array, som er skab ud fra en tekst, hvilket såmænd er meget fint, borset fra den måde mit script opfører sig på, når jeg så anvender det.
Arrayet er skabt ud fra en tekst, hvor det så laves som et mellemrums separeret array. Og det lader til at virke meget fint.
Det der går galt er, når jeg så anvender koden. F.eks. i det nedstående stykke (et udsnit af et digt), så har det første langsomt en værdi på 0, som jo er meget fint, og blodet 1, flyder 2, og nu går den så galt, <br>'s værdi kan jeg ikke checke, da den ikke har et link, men den bør jo have 3, men den næste Langsomt har også værdien 2, ligesom flyder, hvor det burde have værdien 4. Så tilsyneladende har <br> ingen værdi eller måske nærmere en minus 1 værdi, hvilket ikke giver mening.
Langsomt blodet flyder <br>
Langsomt min krop den dør <br>
Langsomt lyden svinder <br>
Her er så koden (meget er skåret fra, for overskuelighedens skyld.
<?
// Teksten hentes (koden er fjernet for overskuelighed)
$list = explode(" ", $tekst);
// En ordliste, se bare bort fra den, den bruges af hensyn til overskueligheden ved debugging
$wordList = array("<br>", "<h1>", "</h1>", "<h2>", "</h2>", "<h3>", "</h3>", "<h4>", "</h4>", "<h5>", "</h5>");
//En kontrolvariabel til evt. billeder i koden
$animg = 0;
//Løkken der klarer det hele
foreach ($list as $i=>$word) {
//Noget kode til at kontrollere efter billedekoder
if ($word == "<img" || $animg == 1)
$animg = 1;
if ($word == "border=\"0\">")
$animg = 0;
if ($animg == 1) {
echo $word . " ";
} elseif (!in_array(strtolower($word), $wordList)) {
echo "<a href=\"in_index.php?p=CMS_h_end&start=$i&theID=" . $_GET["theID"] . "\">" . $word . "</a> ";
} else { echo $word . " "; }
}
?>
Hvad går galt, og hvad kan jeg gøre?
