[PHP] Variabele die niet doortelt

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een zeer mooi script gemaakt, wat perfect werkt, op een klein punt na. Het deel wat niet werkt is dat parser, en bij deze hier het stukje code dat ik daar voor gemaakt heb:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$imagecount = count($ptarray);
    for ($i=0; $i < $imagecount; $i++){
        
        $PTTN = 'tn/' . $ptarray[$i];
        $PTMS = 'ms/' . $ptarray[$i];
        $PTBG = $ptarray[$i];
        
        $basecode = str_replace("BASEURL", $baseurl, $basecode);                    // Replace %22 back to quote
        $basecode = str_replace("TITLE", $title, $basecode);
        $basecode = str_replace("PTMS", $PTMS, $basecode);  
        $basecode = str_replace("PTTN", $PTTN, $basecode);
        $basecode = str_replace("PTBG", $PTBG, $basecode);      
        
    
        echo $basecode;
    }


Het is een doodsimpel loopje, dat zo lang draait als het aantal items in de array ptarray. Dat deel gaat prima, maar er is een klein nadeel. Elke keer als PTTN door $PTTN vervangt, pakt hij telkens het eerste item uit de array. Het telt niet door, hij pakt elke keer de eerste variabele uit de array.

Het is nu:
code:
1
2
3
[url=http://127.0.0.1:8888/EBBIS/index.php?chosenimage=IMG_1818.jpg][img]http://127.0.0.1:8888/EBBIS/ms/IMG_1818.jpg[/img][/url]
[url=http://127.0.0.1:8888/EBBIS/index.php?chosenimage=IMG_1818.jpg][img]http://127.0.0.1:8888/EBBIS/ms/IMG_1818.jpg[/img][/url]
[url=http://127.0.0.1:8888/EBBIS/index.php?chosenimage=IMG_1818.jpg][img]http://127.0.0.1:8888/EBBIS/ms/IMG_1818.jpg[/img][/url]

En zou moeten zijn:
code:
1
2
3
[url=http://127.0.0.1:8888/EBBIS/index.php?chosenimage=IMG_1818.jpg][img]http://127.0.0.1:8888/EBBIS/ms/IMG_1818.jpg[/img][/url]
[url=http://127.0.0.1:8888/EBBIS/index.php?chosenimage=IMG_1819.jpg][img]http://127.0.0.1:8888/EBBIS/ms/IMG_1819.jpg[/img][/url]
[url=http://127.0.0.1:8888/EBBIS/index.php?chosenimage=IMG_1820.jpg][img]http://127.0.0.1:8888/EBBIS/ms/IMG_1820.jpg[/img][/url]



Het lijkt erop dat hij de variabele slechts 1 maal vult, en er daarna vanaf blijft. Kan ik het soms ergens forceren?? Het zou echt super zijn als iemand mij kan helpen, ik zit er nu al te lang op te pielen :)

Acties:
  • 0 Henk 'm!

  • semicolon
  • Registratie: Mei 2004
  • Niet online
Omdat als je de $basecode een keer vervangen hebt hij niet meer bestaat uit de onderdelen die je wilt vervangen. Je moet dus eerst een kopie maken van basecode welke je dan aanpast. Deze heb je de eerste keer namelijk al vervangen. Ik kan wel een voorbeeld geven maar wil kijken of je het eerst zo snapt, want het is vrij basic :)

[ Voor 11% gewijzigd door semicolon op 25-12-2006 22:20 ]

:D/-<


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Max v W schreef op maandag 25 december 2006 @ 22:19:
Omdat als je de $basecode een keer vervangen hebt hij niet meer bestaat uit de onderdelen die je wilt vervangen. Je moet dus eerst een kopie maken van basecode welke je dan aanpast. Deze heb je de eerste keer namelijk al vervangen. Ik kan wel een voorbeeld geven maar wil kijken of je het eerst zo snapt, want het is vrij basic :)
Mijn god, ik snap je al meteen. Zo dom van mij :)

Ik ga het gelijk editen, dit is duidelijk een structuur probleem :)