:-) e.d. vervangen voor smileys

Status
Niet open voor verdere reacties.

tiran818

Gebruiker
Lid geworden
16 apr 2009
Berichten
344
hallo mensen,

ik zoek een scriptje (of tips hoe een scriptje te schrijven) om standaard tekens door smileys te vervangen. zoals hier ook wordt gedaan.
ik heb het liefst PHP maar JavaScript vind ik ook goed.
als het maar werkt :P
ik heb zelf dit geprobeerd:

PHP:
function smiley()
{
   return str_replace(':-)','<img src="../images/smiley_lach.gif" alt="">');
}

mijn idee was om dat met alle smileys te doen die ik heb.
mr ik heb het even getest en dit werkt niet.

heeft iemand een idee/hint/kant en klaar iets/wat je maar kan bedenken om me te helpen?
 
Code:
<?


function smilies($tekst)
{
    // smilies code
    $smilies = array(":D",":)",":(",":|",";)");
    
    // smilies images
    $images = array("lachen.gif","glimlach.gif","verdrietig.gif","verbaasd.gif","knipoog.gif");
    
    // ff tellen
    $aantal = count($smilies)-1;
        
    // loopie
    for ($i=0;$i<=$aantal;$i++)
    {
        // de boel vervangen
        $tekst = str_replace($smilies[$i],"<img src=\"images/smilies/".$images[$i]."\"WIDTH=\"15\" HEIGHT=\"15\">", $tekst); 
    }
    // en $tekst terug geven
    return $tekst;
}

// Voorbeeld
$vervang = "Jippie, er staan nu smilies op deze site ;) , Je kunt  :D :) :( :| ;) in typen!";
$smilie = smilies($vervang);
echo $smilie;

?>


is dat wat?
 
jaaaa :D thanks :D
blij dat het werkt
dat was idd wat ik zocht :)
 
oeps XD nou heb ik nog n probleempje
hij doet het niet voor de hele pagina
hoe kan k hem dit op de hele pagina laten doen
(dus dat ie de hele pagina afzoekt naar de smiley codes :) e.d. en dat ie dat op de hele pagina vervangt?)
 
Ligt een beetje aan je code... als je gewoon zelf wat geklust hebt, moet je waarschijnlijk overal die functie omheen zetten.

Je kunt ook alle output bufferen, en bij het verzenden naar de browser je smiley-replace functie er overheen halen.

PHP:
ob_start( 'smilies' );
echo 'blablabla :) en smileys :D';
// code
echo 'meer output! :D';
// en nu ben je klaar, dus gaat alles naar de browser en wordt er automatisch de smilies() functie over al je output getrokken.
ob_end_flush();

Houd er rekening mee dat dit geen ideale optie is; want hij zal ook je HTML zelf replacen als er smileys in voorkomen; dus een smiley als :< breekt waarschijnlijk je hele pagina af omdat je HTML tags dan incompleet zullen zijn, en ;) zal niet veel heel laten van inline javascript.

Je kunt ook een javascriptje maken waarschijnlijk die dit doet; dan werkt het alleen bij gebruikers met javascript, maar dan kun je er redelijk zeker van zijn dat de pagina intact blijft.
 
ik heb de code van HardRemy gebruikt

wat ik eigenlijk zocht in eerste instantie is code om te zorgen dat ik een collumn dat ik via mail opgestuurd krijg rechtstreeks kan kopiëren in mijn HTML pagina. ik heb er nu gewn PHP van gemaakt en eigenlijk in het stukje //voorbeeld ik heb gewn de nl2br eroverheen gegooid en de smilies functie en dan werkt ie :)
dat beswpaart veeel werk :)
ik deed eerst alle smileys handmatig aanpassen en alle breaks handmatig invoegen XD
kijk voor een voorbeeld hoeveel werk dat was hier: http://cafe.bergenbosch-school.nl/collumn.php

let verder niet op de slecht onderhouden slordige staat van de site
ik ga hem omzetten naar PHP maar ik heb nog geen antwoord of we een database hebben.
ik heb hem al werkend op mijn wampserver met een database mr k ga niet alles in een database zetten als die er vervolgens niet blijkt te zijn XD
ik w8 dus nog op antwoord van die mensen, mr das offtopic XD

iig bedankt voor de hulp :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan