textarea benutzereingaben prüfen und umwandeln -> Regular Expressions & BBCode

Diskutiere mit über: textarea benutzereingaben prüfen und umwandeln -> Regular Expressions & BBCode im Web-Programmierung Forum

  1. iBook

    iBook Thread Starter MacUser Mitglied

    Beiträge:
    116
    Zustimmungen:
    0
    Registriert seit:
    31.05.2003
    Hallo Forum,

    nächstes Problem ;)

    Ich habe eine textarea gefüllt mit daten aus einer tabelle, teilweise sind absätze per "<br>" gesetzt, teilweise per \n teilweise per \n\r , teilweise ist die schrift per "<b>" & "</b>" formatiert, links sind teilweise nur als "www.linkadresse.de" vorhanden, teilweise "http://www.linkadresse.de", teilweise per <a href="http://www.linkadresse.de">link</a>" teilweise per "[ url=http://www.linkadresse.de]link[/url ]", teilweise per "[ url]www.linkadresse.de[/url ]" und so weiter und so fort, jetzt würde ich gerne per "regular expressions" (?) den gesamten text auseinander nehmen, alle möglichkeiten abfrage und das ganze dann einheitlich formatieren, bevor es der user zu sehen kriegt...
    und bei den RegExp liegt mein Problem, kennt jemand einen guten Workshop oder eine gute Seite, auf der Regular Expressions (am besten auf Deutsch) erklärt werden?

    Bin für jeden Tipp dankbar!



    MfG,

    Michael

    P.S.: falls jemand eine Fertige BBCode Klasse mit dazugehörigem Javascript (für Buttons, um dem Benutzer Arbeit abzunehmen) zur Hand hat, würde ich mich auch drüber freuen :D
     
  2. Delmar

    Delmar MacUser Mitglied

    Beiträge:
    803
    Zustimmungen:
    1
    Registriert seit:
    28.09.2002
    Ich habe für ein Forum mal eine solche Datei entworfen. Das Prinzip ist recht einfach
    und man kann es auf diverse Fälle anwenden - bedarf nur ein wenig Schreibarbeit, sämt-
    liche Fälle zu erfassen.

    PHP:
    $_POST[message] = htmlentities($_POST[message],ENT_QUOTES);

    $_POST[message] = ereg_replace("\r"""$_POST[message]);
    $_POST[message] = ereg_replace("\n""<br>"$_POST[message]);

    $_POST[message] = preg_replace("/\[b\](.*)\[\/b\]/iUms","<b>\\1</b>",$_POST[message]);
    $_POST[message] = preg_replace("/\[i\](.*)\[\/i\]/iUms","<i>\\1</i>",$_POST[message]);
    $_POST[message] = preg_replace("/\[u\](.*)\[\/u\]/iUms","<u>\\1</u>",$_POST[message]);
    $_POST[message] = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<A href=\"\\0\" target=\"_blank\">\\0</A>"$_POST[message]);

    Dies nur mal als Beispiel.
     
  3. Delmar

    Delmar MacUser Mitglied

    Beiträge:
    803
    Zustimmungen:
    1
    Registriert seit:
    28.09.2002
    :mad:

    Da sieht man z.B. gleich mal, wie sauber die Programmierer an diesem Forum bzgl. dieses
    Themas gearbeitet haben ... die drei Zeilen, in denen der Text fett, kursiv oder unter-
    strichen angezeigt wird, hat die BBCode Klasse dieses Forums interpretiert.

    Eigentlich sollte es so aussehen:

    [​IMG]
     
  4. iBook

    iBook Thread Starter MacUser Mitglied

    Beiträge:
    116
    Zustimmungen:
    0
    Registriert seit:
    31.05.2003
    danke, das hilft mir schonmal ganz gut weiter...


    micha
     
Die Seite wird geladen...
Ähnliche Themen - textarea benutzereingaben prüfen Forum Datum
Textarea erzeugt keine Umbrüche Web-Programmierung 16.11.2010
Formular-Eingabe auf 8-stellige Zahl prüfen Web-Programmierung 24.08.2009
Text in Textarea einfügen Web-Programmierung 19.08.2006
PHP mit JavaScript prüfen? Web-Programmierung 02.09.2005

Diese Seite empfehlen

Benutzerdefinierte Suche