Я пишу плагин, который преобразует смайлики в изображения в текстовый блок для определенного сайта. Легким ответом является использование регулярных выражений для обнаружения текста триггера на innerHTML и вставки тега img, а затем перетащите строку обратно в элемент dom в части innerHTML. Блок элементов DOM может уже содержать привязку <a>
и/или форматирование текста <b>,<i>,<u>
в части innerHTML.
Например
var textBlock = pItems[i].innerHTML;
var kissSource = 'https://mail.google.com/mail/e/35D';
textBlock = textBlock.replace(/(^|[^<]|[^>]):\*/g, "<img class='emoticon' src='" + kissSource + "' />");
--> pItems[i].innerHTML = textBlock; //<-can I avoid this to be in compliance with Mozilla addons reqmnts
Я искал несколько часов на том, как я могу преобразовать DOM (или HTML-строку) в XML (я знаю: HTML!= XLM Как читать HTML как XML?, но, возможно, часть div?), которая, в свою очередь, может быть преобразована в JSON, который, в свою очередь, может быть преобразован обратно в DOM следующим образом: https://developer.mozilla.org/en-US/docs/XUL/School_tutorial/DOM_Building_and_HTML_Insertion?redirectlocale=en-US&redirectslug=XUL_School%2FDOM_Building_and_HTML_Insertion#JSON_Templating
Я не знаю jQuery, поэтому, пожалуйста, если это возможно с javascript, который был бы идеальным.
Должен ли я решить эту проблему, не выполняя регулярное выражение против innerHTML, тем самым избегая проблемы?
Большое спасибо, JennaS