Pagina 1 van 1
smileys en beveiliging van lengte woorden (PHP-newbie)
Geplaatst: 09 mei 2003, 21:49
door Spirit Wolf
Hei,
ben dus pas bij skynet user base. Lijkt me een degelijke site om allerhande informatie te vinden.
Voor mijn eerste php uitdaging aan te gaan heb ik een guestbook zitten maken (allerhande tutorials zitten zoeken, en de beste beetjes eruit zitten halen). Na 2 à 3 dagen prullen werkt nu eindelijk alles. Behalve misschien dat die server vantijd niet goed wil werken. De carriage-return heb ik nu in mijn guestbook gekregen, maar ik zou er nog graag 2 dingen inzien, misschien dat iemand mij kan helpen.
1. Ik wil het onmogelijk maken dat mensen woorden kunnen maken die langer zijn dan 50 letters lang. Dit om mijn opmaak van de guestbook niet overhoop te helpen, want dan ziet het er nogal raar uit. Ik wil zoiets dat die na elke spatie kijkt hoeveel letters er staan en als er meer dan 50 letters staan, dat die er dan een spatie tussenplaatst.
2. Zou er graag ook smiley's in krijgen. Hoe moet ik te werk gaan?? Hoe steekt dit in elkaar???
Ik programmeer graag en maak graag alles zelf, dus zou het fijn vinden als jullie me niet zouden verwijzen naar installatieprogramma's en zo. Gewoon hoe het moet en hoe ik het best kan aanpakken. 't Is de bedoeling dat ik er wat uit leer.
Thnx
Bye
Geplaatst: 09 mei 2003, 23:02
door Pi R²
smileys ben ik toevallig ook juist bezig te integreren op mijne gastenboek.
Eerst moet ge met een javascriptje tekens als :- ) en :- ( in het tekstvak laten verschijnen. Ge zet gewoon een aantal smileykes waarop de mensen kunnen klikken, en als ze erop klikken treed er een javascriptje in werking waardoor er een smiley-code bij komt. Zo een scriptje vind je overal (haal het desnoods van deze site).
Dat laat je zo opslagen in je mysql database.
In de pagina waar de berichten opgevraagd worden, zet je er volgende code in:
Code: Selecteer alles
$db_bericht = het bericht dat uit de database komt ;
$db_bericht = preg_replace(":-)","<img src='smiley.gif>'", $db_bericht);
echo $bericht ;
waar :- ) staat, zet je de code die een bepaalde smiley vertegenwoordigd, "smiley.gif" vervang je door de smiley die bij dat teken hoort, en $db_bericht is de variabele waarin gesleutelt moet worden.
Per smiley moet je zo een regel invoegen. Eigenlijk wil deze regel zeggen : vervang "iets" door "iets anders" in een string "$x"
Geplaatst: 10 mei 2003, 12:24
door Pi R²
Maar ik heb wel een eigenaardigheid tegen gekomen bij het goed zetten van mijn smileys:
ik gebruikt dus hetvolgende:
Code: Selecteer alles
preg_replace($te_veranderen, $nieuwe_tekst, $bericht);
// te_veranderen en nieuwe_tekst zijn arrays met de tekens voor smileys
//en de imagetags
$te_veranderen = array( ":-)",":-p", ":knipoog:")
maar ik heb gemerkt dat als ge tekstjes tussen 2 keer dezelfde tekens zet, dus bv. begint met : en eindigt met :, vb. ":knipoog:" , er met die dubbele punten geen rekening wordt gehouden. Als ik er dan nog een ander teken voorzet en er dus van maak wat hieronder staat, werkt het wel. Iemand een verklaring?
Geplaatst: 10 mei 2003, 13:36
door Spirit Wolf
thnx, voor de uitleg.
dit kan toch ook nog voor berichten die al in de guestbook zaten hoop ik? Het is toch alleen bij het uithalen van de gegevens dat de vervanging gebeurd hoop ik.
anyway, waar zijn er eigenlijk mooie smileys te vinden???
bye
Geplaatst: 10 mei 2003, 13:43
door The Oddity
Spirit Wolf schreef:
anyway, waar zijn er eigenlijk mooie smileys te vinden???
Ge zou google maybe nen keer kunnen proberen:
smileys ingeven en searchen
http://www.google.com/search?sourceid=n ... &q=smileys
Geplaatst: 10 mei 2003, 16:40
door Pi R²
op
www.smilies.nl vindt ge een paar hondert smilies op categorie gerangschikt.
Ja, smileys worden dus in de database als gewone :- ) tekens opgeslagen, pas bij het uitlezen worden die dan weergegeven als img-tags.
Geplaatst: 10 mei 2003, 18:19
door Spirit Wolf
hei,
dus met andere woorden ook, ik kan zelf kiezen wat ik wil dat de code van de smiley is??? Want ik zou het graag hebben dat ik het kan behouden als mensen

intypen dan het ook

blijft en niet in een smiley verandert. bijv. dat de smiley zijn code iets gaat zijn van <:-)> of iets in die trend
thnx
bye
Geplaatst: 10 mei 2003, 19:10
door Pi R²
persoonlijk vin ik dat niet erg dat het veranderd, maar als ge dat wilt doen, dan zorgt ge ervoor dat ge als ge op de smiley drukt bv. ::-) ziet in plaats van :- ) (of gelijk welk ander teken dat de mensen meestal niet zelf zullen intypen).
En dan zegt da dat het moet zijn bij het opvragen:
Code: Selecteer alles
$bericht = preg_replace("::-)","<img src='smily.gif'",$bericht) ;
// ::-) zal vervangen worden, een gewone smiley als :-) zal blijven staan.
Grtzzz
Geplaatst: 10 mei 2003, 23:15
door Spirit Wolf
hei,
heb een javascriptje gevonden om door middel van op een emoticon te klikken dat deze in de tekst komt. Niet echt een probleem dat ik nu heb, maar het oogt niet mooi. Als ik er namelijk op ene klik, stoppen alle animaties. Weet iemand misschien hoe dit komt???
oh ja, heb nog iets gevonden om de tekst in smileys te veranderen wat kleiner te houden om te programmeren, kijk hier maar eens op :
http://www.devarticles.com/art/1/161/2
misschien kan het iemand helpen
bye
Geplaatst: 10 mei 2003, 23:38
door Erik
hallo,
PiR2 je gebruikt de verkeerde php functie enfin theorethish dan
php makers raden str_replace(); aan
http://www.php.net/manual/nl/function.str-replace.php
Geplaatst: 11 mei 2003, 00:36
door Spirit Wolf
emoticon probleem opgelost. bleef alleen stilstaan als ik het op mijn computer testte, nu ik het online heb gezet werkt het wel.
Mogen altijd eens gaan testen op de site

. Url staat hieronder ergens.
bye
Edited by The Oddity
Ik heb je posts samengevoegd. Spirit Wolf, om niet meer te vergeten in te loggen, kan je gebruik maken van de auto-login functie. Dan moet je wel een cookie accepteren.
Geplaatst: 11 mei 2003, 19:56
door Pi R²
preg_replace lijkt sneller te gaan. Het komt op hetzelfde naar, en str_replace is hoofdlettergevoelig, preg_replace niet.
Geplaatst: 11 mei 2003, 22:10
door Erik
php is gebasseerd op c alle op c gebasseerde talen talen zijn CaSe SenSiTiVe
nou ja zolang het werkt is het goed he
