HTML in BBCode umwandeln
Verfasst: 22.12.2014 16:35
Hallo zusammen,
ich bin ganz neu hier. Ich versuche gerade ein kleines Programm zu schreiben mit welchem ich HTML-Code in BBCode umwandeln kann.
Ziel ist es, das ich den HTML-Code per CTRL-V in ein EditorGadget reinkopiere und dann den Text in BBcode umwandele. Soweit funktioniert das ganze auch schon, wenn auch bestimmt nicht elegant gelöst
Mein Problem ist aber jetzt, das ich bei HTML-Tags, wo noch Parameter drin stehen, wie z.B. <div class="field-content"> nicht ersetzen kann.
Ich probiere das ganze bis jetzt mit ReplaceString umzusetzen, aber ich schaffe es nicht nach Wildcards zu suchen, also z.B. <div (.*?)>
Könnte mir da mal jemand ein bischen unter die Armee greifen ?
Schonmal Danke im vorraus.
Hier noch mein kleines Programm bis jetzt, es sind aber noch nicht alle Tags drin
ich bin ganz neu hier. Ich versuche gerade ein kleines Programm zu schreiben mit welchem ich HTML-Code in BBCode umwandeln kann.
Ziel ist es, das ich den HTML-Code per CTRL-V in ein EditorGadget reinkopiere und dann den Text in BBcode umwandele. Soweit funktioniert das ganze auch schon, wenn auch bestimmt nicht elegant gelöst

Mein Problem ist aber jetzt, das ich bei HTML-Tags, wo noch Parameter drin stehen, wie z.B. <div class="field-content"> nicht ersetzen kann.
Ich probiere das ganze bis jetzt mit ReplaceString umzusetzen, aber ich schaffe es nicht nach Wildcards zu suchen, also z.B. <div (.*?)>
Könnte mir da mal jemand ein bischen unter die Armee greifen ?
Schonmal Danke im vorraus.
Hier noch mein kleines Programm bis jetzt, es sind aber noch nicht alle Tags drin

Code: Alles auswählen
Enumeration
#btn_convert
#edi_gad
EndEnumeration
Declare convert(EventType)
If OpenWindow(0, 0, 0, 600, 450, "HTML to BBCode", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(#btn_convert, 10,10,100,25,"Convert")
EditorGadget(#edi_gad, 8, 50, 580, 390)
SetActiveGadget(#edi_gad) ; EditGadget aktiv, Corsour befindet sich im EditGadget
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_CloseWindow
End
Case #PB_Event_Gadget
Select EventGadget()
Case #btn_convert
convert(EventGadget)
EndSelect
EndSelect
ForEver
EndIf
Procedure convert(EventGadget)
editor$ = GetGadgetText(#edi_gad)
neu$ = ReplaceString(editor$, "<h2>", "[size=18]", #PB_String_NoCase)
SetGadgetText(#edi_gad, neu$)
editor$ = GetGadgetText(#edi_gad)
neu$ = ReplaceString(editor$, "</h2>", "[/size]", #PB_String_NoCase)
SetGadgetText(#edi_gad, neu$)
editor$ = GetGadgetText(#edi_gad)
neu$ = ReplaceString(editor$, "<ul>", "[list]", #PB_String_NoCase)
SetGadgetText(#edi_gad, neu$)
editor$ = GetGadgetText(#edi_gad)
neu$ = ReplaceString(editor$, "</ul>", "[/list]", #PB_String_NoCase)
SetGadgetText(#edi_gad, neu$)
editor$ = GetGadgetText(#edi_gad)
neu$ = ReplaceString(editor$, "<li>", "[*]", #PB_String_NoCase)
SetGadgetText(#edi_gad, neu$)
editor$ = GetGadgetText(#edi_gad)
neu$ = ReplaceString(editor$, "</li>", "", #PB_String_NoCase)
SetGadgetText(#edi_gad, neu$)
EndProcedure