מרכאות ו tinyMCE

הקדמה: tinyMCE הוא עורך טקסט בצד ה client שמעצב לנו את ה textarea ובעצם מייצר בפנים html.
כך שאם נרצה לאפשר למשתמש להקליד איזשהו טקסט עם צבעים, גופנים, תמונות וכו' נרצה להשתמש במתאם הזה.

מי מכם שם לב שכשכותבים מרכאות בתוך הטקסט אז ההמרה משאירה את המרכאות במקומן. למשל אם יש לנו פיסקה וכתבנו

""""

אז המכראות האלה ישארו במקומן. למה? כי זה תואם את הסטנדרט של XML בעוד שכל מה שתוחם attributes ישתנה ל "

בדרופל לפעמים יש בעיה שטקסטים שאנחנו כותבים עם מירכאות - נוסף להם סלאש לפני. כנראה שאיזשהו באג פנימי. בכל מקרה אני אדגים איך איפשר להתגבר על הבעיה ואיך אפשר להוסיף פילטרים משלנו כדי להתמודד עם דברים נוספים.
המטרה לשנות כל מה שמופיע ב innerHTML ממרכאות ל "
חפשו את הפונקציה getContent ב tiny_mce.js ותשנו אותה באופן הבא:

getContent : function() {
var h;
h = this.doc.xml || new XMLSerializer().serializeToString(this.doc);
h= h.replace(/="(.*?)"/gi, "###$1###"); /* קוד שלי */
var r = new RegExp(/(>.*?)"(.*
while (r.test(h) == true)
{
h = h.replace(/(>.*?)"(.*
r = new RegExp(/(>.*?)"(.*
}
h = h.replace(/###(.*?)###/gi, '="$1"'); /* סוף קוד שלי */
h = h.replace(/<\?[^?]+\?>||<\/html>||]+>/g, '');
h = h.replace(/ ?\/>/g, ' />');

if (this.valid)
h = h.replace(/\%MCGT%/g, '>');

return h;
}

Post a Comment

Previous Post Next Post