WinFuture-Forum.de: Bbcode Mit Javascript Nachbauen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Bbcode Mit Javascript Nachbauen Problem mit verschachtelten Tags


#1 Mitglied ist offline   W@yne 

  • Gruppe: aktive Mitglieder
  • Beiträge: 889
  • Beigetreten: 20. Juli 05
  • Reputation: 0

geschrieben 11. Juni 2009 - 04:29

Sers,

für die Nutzung als Userscript sitze ich gerade an einer BBcode-Implementierung in Javascript.

Nun habe ich das Problem, dass ich nicht weiß, wie ich JS dazu bringen kann, zu erkennen, wo der aktuelle Tag zu Ende ist.

Beispiel: Ich habe diesen Text:

[b]Dies ist ein Test.[/b] -- [i]Hier wird etwas [b]fett[/b] geschrieben!


Mein aktueller Code:

	codifiedText = codifiedText.replace(/\[b\](.*)\[\/b\]/gi, "<span style=\"font-weight:bold\">$1</span>");
	codifiedText = codifiedText.replace(/\[i\](.*)\[\/i\]/gi, "<span style=\"font-style:italic\">$1</span>");
	codifiedText = codifiedText.replace(/\[u\](.*)\[\/u\]/gi, "<span style=\"text-decoration:underline\">$1</span>");


JS versucht, das [/b] nach "fett" dem ersten [b] zuzuordnen, was natürlich gewaltig falsch ist. Wie behebe ich dies?
0

Anzeige



#2 Mitglied ist offline   aeris 

  • Gruppe: aktive Mitglieder
  • Beiträge: 129
  • Beigetreten: 06. September 08
  • Reputation: 12
  • Geschlecht:unbekannt

geschrieben 11. Juni 2009 - 11:28

Beitrag anzeigenZitat (W@yne: 11.06.2009, 05:29)

JS versucht, das [/b] nach "fett" dem ersten [b] zuzuordnen, was natürlich gewaltig falsch ist. Wie behebe ich dies?


Der Stern bei (.*) ist gierig und geht bis zum letzten Match.
Wenn er nur bis zum ersten Match suchen soll verwende (.*?)

Es gibt aber noch eine schoenere Alternative, siehe http://www.regular-e...epeat.html#lazy
0

#3 Mitglied ist offline   W@yne 

  • Gruppe: aktive Mitglieder
  • Beiträge: 889
  • Beigetreten: 20. Juli 05
  • Reputation: 0

geschrieben 11. Juni 2009 - 14:14

Danke, funktioniert super! :imao:
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0