Eigene BBCodes und Smilies

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
Muuhmann
Regular
Posts: 41
Joined: Fri Jun 23, 2006 1:32 pm

Eigene BBCodes und Smilies

Post 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
Oliver
Regular
Posts: 178
Joined: Mon Jan 10, 2005 7:43 pm
Location: Herne, Germany
Contact:

Re: Eigene BBCodes und Smilies

Post 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 :)
Image
Muuhmann
Regular
Posts: 41
Joined: Fri Jun 23, 2006 1:32 pm

Post 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
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post 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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Muuhmann
Regular
Posts: 41
Joined: Fri Jun 23, 2006 1:32 pm

Post 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
Muuhmann
Regular
Posts: 41
Joined: Fri Jun 23, 2006 1:32 pm

Post 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!
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post 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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Muuhmann
Regular
Posts: 41
Joined: Fri Jun 23, 2006 1:32 pm

Post 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
radarin
Regular
Posts: 150
Joined: Sat Nov 25, 2006 5:33 pm
Location: St.Gallen/Schweiz
Contact:

Post 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...
www.darin.ch - blog.darin.ch - rad.darin.ch
radarin
Regular
Posts: 150
Joined: Sat Nov 25, 2006 5:33 pm
Location: St.Gallen/Schweiz
Contact:

Post 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
www.darin.ch - blog.darin.ch - rad.darin.ch
Post Reply