Page 1 of 1

Eigene BBCodes und Smilies

Posted: Mon Jan 08, 2007 4:15 pm
by Muuhmann
Hi,

ich suche ein Plugin oder eine Anleitung wie ich eigene BBCodes bzw Smilies machen kann.

speziell geht es hier um [color:#irgendwas] und so smilies wie :hearts: was dann zu Image werden soll

Re: Eigene BBCodes und Smilies

Posted: Mon Jan 08, 2007 9:15 pm
by Oliver
Muuhmann wrote:speziell geht es hier um [...] so smilies wie :hearts: was dann zu Image werden soll
Wegen der Smilies schau mal hier: http://www.s9y.org/44.html#A15 :)

Posted: Mon Jan 08, 2007 10:21 pm
by Muuhmann
danke, das funktioniert schonmal..

ok das mit den BBCodes hab ich jetzt hinbekommen.. klappt..

mit smilies hab ich aber noch ein kleines problem..

es funktioniert leider nicht so wie ich das will.. also die smilies zeigen sich nur wenn z.b. :heart: von zwei leerzeichen umschlossen ist, wenn z.B. A:heart:, da steht, passiert nichts..

wo kann ich das ändern? Kann ich irgendwie einen RegEx Code miteinfügen um alle Zeichen vor und nach den :xxxx: zu ignorieren? bzw dass es egal is welches zeichen davor steht es soll immer umgewandelt werden

Posted: Tue Jan 09, 2007 7:30 pm
by garvinhicking
Hi!

Ja, das ist gewollt, damit Smilies nicht mitten in Wörtern ersetzt werden.

Das was du willst würde nur gehen wenn Du die regulären Ausdrücke selber im Plugin-PHP-Code abänderst und die "\s"-Sequenzen rausnimmst.

Viele Grüße,
Garvin

Posted: Tue Jan 09, 2007 10:26 pm
by Muuhmann
ich habe in der deutschen "styles"-Dokumentation das hier gelesen:
Hinweis: Die Smilies im obigen Beispiel erwarten Array-Schlüssel als einfache Strings. Wenn man reguläre Ausdrücke benutzen will oder muss, sollte man in der Datei die Variable

$serendipity['custom_emoticons_regexp'] = true;

setzen, damit serendipity reguläre Ausdrücke auswertet.

wo muss ich jetzt die regulären ausdrücke einfügen? emoticons.inc.php oder in die emoticons-plugin datei?

wie sähen die reg. Ausdrücke für alle Zeichen aus?

durch das herraus nehmen von \s in der serendipity_event_emoticate.php funktioniert das ganze plugin nicht mehr.. :heart: wird nicht mehr übersetzt und in ein bild verwandelt

Posted: Tue Jan 09, 2007 10:54 pm
by Muuhmann
also ich hab jetzt durhc hinzufügen von \w geschafft einen teil der smilies umzuwandeln..

problem.. ich finde keinen ausdrück für ein komma

edit: ok vergesst alles ;) habs grad hinbekommen.. is ja eigentlich easy ^^ habe das \s gelassen, aber noch ein \w, hinzugefügt durch das , (komma) wird das selbige auch berücksichtigt! wunderbar! danke für die tipps!

Posted: Tue Jan 09, 2007 11:03 pm
by garvinhicking
Hi!

Nein, ich fürchte die individuellen Smilie-Regexps werden später angehangen. D.h. wenn Du das aktivierst wird trotzdem ein spezielles Regexp im Plugin drangehangen was dafür sorgt dass ein Smilie nht innerhalt eines Wortes ersetzt wird. Du musst also wirklich den Core-Code des Plugins editieren und da die RegExp editierien - evtl. hast du ein/das falsche "\s" rausgenommen.

Hab derzeit leider keine Zeit die Regexp im plugin nachzusehen, kann ich aber nächste Woche machen.

Viele Grüße,
Garvin

Posted: Tue Jan 09, 2007 11:29 pm
by Muuhmann
danke musst du nicht mehr machen..

habe in dem post über die ja schon geschrieben, dass ich es geschafft habe.. wir haben wahrscheinlich nur mehr oder weniger gleichzeitig geantwortet bzw editiert ;D

Posted: Mon Apr 09, 2007 7:33 am
by radarin
also ich hab das jetzt auch versucht, bei mir klappt es aber nicht. ich hab im plugin die zeilen im array erweitert:

Code: Select all

 if (!isset($this->smilies)) {
            $ext = $this->get_config('extension', 'png');
            $this->smilies = array(
                "\:'\("    => serendipity_getTemplateFile('img/emoticons/cry.'.$ext),

                '\:\-?\)'  => serendipity_getTemplateFile('img/emoticons/smile.'.$ext),

                '\:\|'     => serendipity_getTemplateFile('img/emoticons/normal.'.$ext),

                '\:\-?O'  => serendipity_getTemplateFile('img/emoticons/eek.'.$ext),

                '\:\-?\('  => serendipity_getTemplateFile('img/emoticons/sad.'.$ext),

                '8\-?\)'  => serendipity_getTemplateFile('img/emoticons/cool.'.$ext),

                '\:\-?D'  => serendipity_getTemplateFile('img/emoticons/laugh.'.$ext),

                '\:\-?P'  => serendipity_getTemplateFile('img/emoticons/tongue.'.$ext),

                ';\-?\)'  => serendipity_getTemplateFile('img/emoticons/wink.'.$ext),
                
                ':heart:'  => serendipity_getTemplateFile('img/emoticons/heart.'.$ext),
                
                ':-H'  => serendipity_getTemplateFile('img/emoticons/heart.'.$ext),
            );
        }
auch mit \:heart\: und \:\-?H funktioniert es nicht, es wird im adminbereich und in den Beiträgen der Code ausgegeben...

Posted: Mon Apr 09, 2007 8:05 am
by radarin
hat sich erledigt, war mal wieder ein falscher chmod der grafik. da hätte ich aber eher eine fehlergrafik erwartet statt der zeichen...

:oops:

gruss rene