[javascript] keine-code-tags-warnung und auto-code-tags



  • also codes in postings heben sich ja relativ gut vom fliestext ab
    z.b. fangen sie meist
    #include an
    enden mit den letzten }
    usw.
    hatt nicht jemand lust fürs neue forum ein javascript zu schreiben welches das posting untersucht und eine warnung ausgib fals keine code-tags benutz werden
    und falls der user es wünscht soll es die code tags automatisch setzen



  • sicher doch ..

    ich gebe hiermit die aufgabe an "Shade Of Mine" weiter der sie wie versprochen mit herzenslust annimmt 😉

    also ich kann leider aus zeitgründen nicht sonst gerne !


  • Mod

    ich wuerde nur ne warnung schreiben - denn mein code ist sicher nicht fehlerfrei:

    var reg=posting.match(/[\n\r]#[\S\s]*[\n\r]\{[\S\s]*;[\S\s]*[\n\r]\}/mg)
    if(reg)
    {
        alert("sie haben vermutlich C++ Code gepostet - verwenden sie bitte Code Tags!");
        //alert("code:\n\n"+reg[0]); //debug
    }
    

    posting ist ein string der das posting beinhaltet :p

    Der Code schaut ob er ein
    # am Zeilenanfang findet und ob danach irgendwann ein
    { am Zeilenanfang kommt und ob danach irgendwann ein
    ; kommt und ob danach irgendwann ein
    } am Zeilenanfang kommt

    Bug: wenn # erstes Zeichen ist, wird das nicht erkannt (dirty bugfix: \n am anfang des strings einfuegen)

    Bug: wenn es keine preprozessor direktive gibt, wird der code nicht als code erkannt. Nur nach { und } zu suchen ist IMHO n bisschen zu unsicher. Vielleicht faellt dir noch n merkmal ein, dass C/C++ code haben muss.

    kleine tests auf Opera 7, IE 6 und Mozilla 1.4a verliefen erfolgreich.

    du solltest das aber noch ordentlich testen!!



  • die mods sollten das lieber per hand machen 🕶



  • sehr schön,
    man könnte noch nach class, template, for, if, main, typedef, char und co. suchen also den standard keywörter
    funktionen lassen sich auch gut matchen entweder eine funktion hat void als rückgabe wert oder zumindestenz ein return

    aber das was du schon gemacht hast sollte reichen

    für den auto-code-tag-button sollte man nach tabs oder 4 (bzw. 3) leerzeichen kucken


  • Mod

    gib mir ein muster nachdem ich suchen soll und ich schreib dir die passende regexp dazu - nur zum selber nachdenken bin ich zu faul :p


Anmelden zum Antworten