login  Naam:   Wachtwoord: 
Registreer je!
 Forum

UBB parser (smileys)

Offline timo - 11/01/2007 14:50 (laatste wijziging 11/01/2007 14:50)
Avatar van timoPHP ver gevorderde Ik heb net smileys aan mijn ubb parser toegevoegd en nu heb ik 2 problemen:
-Hij zet automatisch ^ ^ voor alles wat ik ermee parse..
-Sommige smileys werken niet

Hij zou voor elke smiley in de array deze gewoon met de <img> tag vervangen en de alt van dat plaatje op de naam van de smiley zetten

Code op http://www.plaatscode.be/3773/

Dit is mijn HTML output als ik alle smileys even wil laten zien (op de volgorde waarin ze in de UBB parser worden geparsed) http://www.plaatscode.be/3774/

11 antwoorden

Gesponsorde links
Offline Kr4nKz1n - 11/01/2007 15:21
Avatar van Kr4nKz1n Onbekend Dus wat op http://www.plaatscode.be/3774/ staat is de output als je alle smileys hebt ingetypt zeg maar?

Dan zie ik niet ALTIID voor een smiley :/
Offline Thomas - 11/01/2007 15:22
Avatar van Thomas Moderator Sommige karakters (zoals ^) hebben een speciale betekenis in regexp-functies... Deze dien je te escapen (te voorzien van een backslash).

Wellicht moet je DUBBELE quotes gebruiken i.p.v. enkele quotes?
Strings met enkele quotes zijn namelijk letterlijke strings; je kunt hier niets in escapen (behalve misschien een enkele quote zelf?). Het zal zoiets zijn...
Offline timo - 11/01/2007 15:43 (laatste wijziging 11/01/2007 15:44)
Avatar van timo PHP ver gevorderde Heb nu met dubbele quotes gedaan, dat loste al flink wat op, heb nu alles (: ; - ( ) @ $ ) geescaped en op :@, , en na werken ze allemaal op 1 ding na:
na sommige smileys komt er opeens de naam minus het eerste karakter:s
ik heb ze nu in de array op de volgende volgorde staan (wat ook uitmaakte want zorgte dat hut: niet kon worden weergeven) http://www.plaatscode.be/3775/
Offline NCube - 11/01/2007 15:47
Avatar van NCube HTML beginner Misschien gewoon makkelijker en waarschijnlijk ook sneller om str_replace te gebruiken voor de smileys.
Offline Kr4nKz1n - 11/01/2007 15:49
Avatar van Kr4nKz1n Onbekend Ja het zijn toch exacte combinaties.
Offline Ibrahim - 11/01/2007 15:59
Avatar van Ibrahim PHP expert Gebruik inderdaad str_replace. Preg_... is eerder voor regexes. En je hoeft ook niet eerst een array te maken en die dan met een foreach in preg_replace/str_replace te zetten. Want die functies accepteren ook arrays 

Dat betekent dat je al die preg_replacen kunt vervangen door 1 preg_replace met ze allemaal in arrays.
Offline timo - 11/01/2007 16:06 (laatste wijziging 11/01/2007 16:12)
Avatar van timo PHP ver gevorderde met str_replace nog steeds het probleem dat die die ik al noemde niet werkte en sommige er een stuk van hun naam achteraan kregen..

EDIT: dit verdwijnt wel als ik die alt tekst weghaal.. maar ook als ik hier htmlspecialchars overheen haal is dat niet opgelost..

EDIT2: zie dat het probleem in de bron zit, hier worden gewoon dingen tussengestopt..
@hierboven: maar hoe doe ik dat dan, want die bestandsnaam zit in die foreach..
Offline Thomas - 11/01/2007 16:13
Avatar van Thomas Moderator Waarom zou je trouwens overal $this->input willen returnen? Je kunt hier toch op elk moment bij... Ook de methode parse() is nogal loos.
preg_-functies kun je trouwens ook arrays meegeven als parameters, dus je hoeft hiervoor geen foreach te gebruiken (regel 62) of een heleboel preg_replaces achter elkaar te zetten (regel 72 t/m 92).
Offline timo - 11/01/2007 16:16
Avatar van timo PHP ver gevorderde ik wil eerst dat die smileys werken voor ik hem ga verbeteren en alles.. dus.. hoe doe ik dat dan met die array want nu krijg ik plaatjes met Array erop te zien..
Offline Kr4nKz1n - 11/01/2007 16:17
Avatar van Kr4nKz1n Onbekend Dus je wilt eerst deze werkend krijgen? En daarna ga je hem beter maken?
I don`t get it.
Offline timo - 11/01/2007 16:27
Avatar van timo PHP ver gevorderde eerst alles werkend en dan zorgen dat ie sneller word en alles..
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.399s