HTML_StringConvert

  • Hey Leute,
    da ich in Zukunft öfter Texte für Websites schreibe, und länger mehr kein AutoIt praktizierte, habe ich mir ein kleines Tool gebastelt um "Foren-Eigenschaften ([ B ], [ SIZE ], ...)" ganz einfach zu konvertieren.
    Um das ganze für alle, und nicht als Tool wegzugeben, habe ich es einfach als Funktionen geschrieben.
    Was die Funktionen machen muss ich wohl nicht erläutern.
    Über neue Vorschläge für [] Eigenschaften bin ich immer offen, einfach schreiben und ich implementiere (sofern ich es hinbekomme :D)
    Im Anhang findet ihr die aktuelle Version 1.0 , falls das mal irwer gebrauchen kann :)

    Falls jemand im "Beispiel.au3" den String nicht findet, er ist folgender:

    Code
    [B]Dieser Text ist fett[/B]
    [I]Dieser Text ist kursiv :D[/I]
    [S]Und dieser durchgestrichen[/S]
    Klicke hier rauf um zu[URL=http://www.google.de]Google[/URL] zu gelangen.
    [IMG=http://de.selfhtml.org/src/konq31.gif][/IMG]
    Cooles Bild, hum ?
  • Hi,

    diese "Foren Eigenschaften" gehören zu dem nicht reglementierten BB-Code.
    Vielleicht findest du ja dort ja noch etwas, was du brauchen kannst.

    Ansonsten: Dein Skript scheint gut zu funktionieren! Allerdings wären noch ein paar weitere Optionen in den Funktionen toll, z.B. das Öffnen von Links in einem neuen Tab/Fenster ("<a href="http://google.com" target="blank">"), da man diese "Parameter" ja nicht mit dem BB-Code mitgeben kann.

    Gruß stay

  • Hmm ... ja naja das wäre schon möglich wenn ich es so anpasse dass man den Link in Anführungszeichen angibt, und die Eigenschaften dann durch "," trennt ...
    Mal schauen :)

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • ich find das irgentwie umständlich gelöst^^
    ich bin selbst PHP programmierer und habe mal kurz in 2min meine standart bbcode prase funktion in autoit umgewandelt

    Spoiler anzeigen
    [autoit]


    Func parse_bbcode($sParseBBCode)
    ; Zeilenumbrüche
    $sParseBBCode = StringReplace($sParseBBCode, @CR, "<br/>")

    [/autoit] [autoit][/autoit] [autoit]

    ; Formatierungen
    $sParseBBCode = StringRegExpReplace($sParseBBCode, '\[b\](.*)\[/b\]', "<b>$1</b>")
    $sParseBBCode = StringRegExpReplace($sParseBBCode, '\[i\](.*)\[/i\]', "<i>$1</i>")
    $sParseBBCode = StringRegExpReplace($sParseBBCode, '\[u\](.*)\[/u\]', "<u>$1</u>")
    $sParseBBCode = StringRegExpReplace($sParseBBCode, '\[big\](.*)\[/big\]', "<big>$1</big>")
    $sParseBBCode = StringRegExpReplace($sParseBBCode, '\[small\](.*)\[/small\]', "<small>$1</small>")
    $sParseBBCode = StringRegExpReplace($sParseBBCode, '\[color=(.*)\](.*)\[/color\]', "<span style='color: $1'>$2</span>")
    $sParseBBCode = StringRegExpReplace($sParseBBCode, '\[size=(8|10|12|14|18|24|36)\](.*)\[/size\]', "<span style='font-size: $1pt'>$2</span>")
    $sParseBBCode = StringRegExpReplace($sParseBBCode, '\[center\](.*)\[/center\]', "<center>$1</center>")
    $sParseBBCode = StringRegExpReplace($sParseBBCode, '\[right\](.*)\[/right\]', "<div style='text-align:right'>$1</div>")
    $sParseBBCode = StringRegExpReplace($sParseBBCode, '\[block\](.*)\[/block\]', "<div style='text-align:justify'>$1</div>")

    [/autoit] [autoit][/autoit] [autoit]

    ; Links
    $sParseBBCode = StringRegExpReplace($sParseBBCode, '\[url\](.*)\[/url\]', "<a href='$1'>$1</a>")
    $sParseBBCode = StringRegExpReplace($sParseBBCode, '\[url=(.*)\](.*)\[/url\]', "<a href='$1'>$2</a>")

    [/autoit] [autoit][/autoit] [autoit]

    ; Grafiken
    $sParseBBCode = StringRegExpReplace($sParseBBCode, '\[img\](.*)\[/img\]', "<img src='$1' alt='$1' />")

    [/autoit] [autoit][/autoit] [autoit]

    ; Listen
    $sParseBBCode = StringRegExpReplace($sParseBBCode, '\[list\](.*)\[/list\]', "<ul>$1</ul>")
    $sParseBBCode = StringRegExpReplace($sParseBBCode, '\[list=(1|a)\](.*)\[/list\]', "<ol type='$1'>$2</ol>")
    $sParseBBCode = StringRegExpReplace($sParseBBCode, "\[*\](.*)\\r\\nU", "<li>$1</li>")

    [/autoit] [autoit][/autoit] [autoit]

    return $sParseBBCode
    EndFunc

    [/autoit]


    hab das aber jetzt nicht ausführlich getestet ob alle bbcode's so gehen^^

    mfg

  • Uff ...
    Ja tut mir Leid ich kann kein RegEx :D
    Das sollte ich wohl mal dringend lösen :D

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal