Dabei seit: 04.12.2006 Ort: München Alter: 26 Geschlecht:
Verfasst Mo 03.03.2008 17:07 Titel
WYSIWYG Editor in Flash
Hallo zusammen,
ich soll einen reduzierten WYSIWYG Editor in Flash basteln. Schrifart, Bold, Italic, Kursiv, Hyperlink, mehr nicht.
String wird dann rausgeschickt und von aspx + csharp weiterverbaeitet.
So, jetzt fehlt mir leider der Ansatzpunkt.
Wie kann ich auslesen welcher Textteil markiert wurde? Ist es die richtige rangehensweiße einen string zu spliten um z.b.: aus meinstring, meinsubstring zu extrahieren, diesen dann in <b>meinsubstring</b> umzuwandeln und am ende wieder in meinstring zu dingsen?
hat flex vllt so etwas intigriert?
Vielen Dank schonmal - ihr seid die besten
Zuletzt bearbeitet von Clay am Mo 03.03.2008 17:07, insgesamt 1-mal bearbeitet
Dabei seit: 08.06.2006 Ort: Essen Alter: 34 Geschlecht:
Verfasst Di 04.03.2008 07:26 Titel
@Mein Lieblingsbayer: Schau im Adobe Exchange mal nach "Rich Text" Komponenten. Mit denen kriegst Du den Text schonmal bearbeitet. Und speichern würd ich das einfach als HTML-Text. Geht am unkompliziertesten. Ich hab auf die Weise für die alte Firma 3 WYSIWYG´s gemacht und hat gut geklappt
Dabei seit: 04.12.2006 Ort: München Alter: 26 Geschlecht:
Verfasst Di 04.03.2008 11:03 Titel
Vielen Dank für die schnellen Antworten ihr beiden!
Stimmt, an Adobe Exchange hab ich garnicht gedacht. is auch sehr brauchbar was sich da finden lässt.
Zum selbermachen ist replaceSel n guter tip
var myformat:TextFormat = new TextFormat();
myformat.font = "Arial";
wysiwygTextField.setTextFormat(myformat);
var Text:String = wysiwygTextField.text;
var SelectionArray:Array = new Array();
var TextWithBoldTags:Array = new Array();
TextWithBoldTags[0] = "Test"
function getSelection():Void {
var selectionStart:Number = Selection.getBeginIndex();
var selectionEnd:Number = Selection.getEndIndex();
var selectionText:String = wysiwygTextField.text.substring(selectionStart, selectionEnd);
var popSelectionArray:Object = SelectionArray.pop();
var popSelectionArray:Object = SelectionArray.pop();
var popSelectionArray:Object = SelectionArray.pop();
var pushSelectionArray:Number = SelectionArray.push(selectionStart);
var pushSelectionArray:Number = SelectionArray.push(selectionEnd);
var pushSelectionArray:Number = SelectionArray.push(selectionText);
}
function setTag(a, b) {
var tagOpen:String = a;
var tagClose:String = b;
var selectionStart = SelectionArray[0];
var selectionEnd = SelectionArray[1];
var selectionText = SelectionArray[2].toString();
var selectionToBold:String = tagOpen+wysiwygTextField.text.substring(selectionStart, selectionEnd)+tagClose;
var isStringAllreadyBoldStart = selectionText.slice(0, 3);
var selectionTextTagClosePosition = selectionText.length-3;
var isStringAllreadyBoldEnd = selectionText.slice(selectionTextTagClosePosition, selectionText.length);
if (SelectionArray[0] == undefined || SelectionArray[2] == "") {
//alert here
} else if (isStringAllreadyBoldStart == tagOpen || isStringAllreadyBoldEnd == tagClose) {
var selectionToUnBold:String = wysiwygTextField.text.substring(selectionStart+3, selectionEnd-4);
wysiwygTextField.replaceText(selectionStart, selectionEnd, selectionToUnBold);
UpdateText();
} else {
var selectionToBold:String = tagOpen+wysiwygTextField.text.substring(selectionStart, selectionEnd)+tagClose;
wysiwygTextField.replaceText(selectionStart, selectionEnd, selectionToBold);
UpdateText();
}
}
function UpdateText(selectionToBold) {
var Text:String = wysiwygTextField.text;
wysiwygTextHTMLField.text = Text;
}
Hat irgendwer eine Idee?
Vielen Dank für die Hilfe
LG, Clay
Zuletzt bearbeitet von Clay am Mi 05.03.2008 16:33, insgesamt 2-mal bearbeitet
Dabei seit: 04.12.2006 Ort: München Alter: 26 Geschlecht:
Verfasst Mi 05.03.2008 18:55 Titel
FlamingArt hat geschrieben:
Was genau is dein Problem eigentlich jetzt grad ??
Naja ich möchte das ich wenn ich ein "<b>text</b>" hab, das ich nicht das: "<b>t<b>ex<b/>t</b>" daraus machen kann.
Also ich möchte kein bold tag in einem bereitsbestehenden bold tag erlauben.
Zuletzt bearbeitet von Clay am Mi 05.03.2008 18:59, insgesamt 2-mal bearbeitet
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.