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++;
Mijn jonge PHP-kennis is jammer genoeg nog niet voldoende om die oplossing te snappen :(. Iig bedankt voor je reactie :). Iig bedankt voor je reactie :).
Zou ik $sUitvoer dan in $tekst = "..." moeten zetten, of denk ik dan te simpel?
?
Onbekende gebruiker
24-01-2006 21:53
als je die smileys wilt hebben kun je denk ik beter werken met str_replace(":D",$string,"<img src=smiley.gif");
(weet niet zeker of de volgorde van de parameters kopt)
?
Onbekende gebruiker
24-01-2006 21:55
als je trouwens een string wilt uitvoeren als php code moet je de functie eval() gebruiken, zie nl.php.net
Zo gevorderd ben ik jammer genoeg nog niet :(. Heb inderdaad al een aantal manieren om smiley's te vervangen gezien, en dat is op zich het probleem niet. Dat lukt nog net wel ;). Het probleem is dat de tekst gegenereerd wordt...
AARGGH!! Werd warm van de post van Martijn! maar het levert een witte pagina op. Het probleem ligt waarschijnlijk niet ver weg, maar ik zie het nog even niet.
<?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++;
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++;
Ok... het geeft een resultaat: het plaatje, gevolgd door ":D :-) 1 1". Ik ga even nadenken welke conclusie ik daaruit zou kunnen trekken: ik maak er even een php-leermoment van :P. Martijn!, zie jij het in 1x? Be my hero!
Tussentijds resultaat: volgens mij werkt het... weet alleen niet wat er gebeurt als de aantallen boven de 9 komen...