Ben nu al een tijdje bezig PHP een beetje onder de knie te krijgen. Laatste projectje is een teller voor het aantal bezoekers dat online is. Dat wordt allemaal geregeld door online.php. Om design-technische redenen moeten de getallen (en dus het aantal bezoekers) vervangen worden door een plaatje. Een 1 moet dus vervangen worden door 1.gif. Het script dat ik tot nu toe heb, brengt mij een heel eind:



maar:

$tekst = "<? include "online.php"; ?>";
echo parse_smileys ($tekst);

geeft een witte pagina (m'n gevoel zei al dat dat includen als waarde binnen php niet zou werken).

<?php
function parse_smileys ($tekst)
{
// De array met alle smiley characters die vervangen
// moeten worden
$smile_characters = array(
'1',
';-)',
':D',
':P'
);

// De array met alle images die in de plaats van de characters
// erneer gezet moeten worden
$smile_images = array(
'1.gif',
'wink.gif',
'lach.gif',
'tong.gif'
);


// $i declareren
$i = 0;

// Alle smiley codes vervangen en $tekst wijzigen
foreach ($smile_characters as $character)
{
// $i ophogen
$i++;

// Wijzigen
$tekst = str_replace($character,'<img src="'.$smile_images[($i-1)].'" border="0">',$tekst);
}

// De gewijzigde $tekst retourneren
return $tekst;
}

// Voorbeeldje
$tekst = "<? include "online.php"; ?>";
echo parse_smileys ($tekst);

// :D zal vervangen worden door lach.gif
?>


<html>
<head>
<title>project-teller</title>
</head>

<body>
:D :-) 1
<? include "online.php"; ?>
</body>
</html>

Iemand een idee?
Dom... Ok... ik krijg nu in ieder geval in test2.php het plaatje 1.gif. Als ik een vriend ook op de site laat komen blijft deze 1 er staan, maar ik weet nog niet waar dat aan ligt. Ik vind dat ik zelf verder moet gaan proberen voordat ik weer iets van jullie kostbare tijd vraag. Eerst ga ik lekker slapen :).

Overigens wil ik de nieuwsgierige PHP-er van harte uitnodigen het script dat tot nu toe met de hulp van Martijn! (honour, honour) tot stand is gekomen, eens te testen.

Reageren