2013-09-22 5 views
1

Contenteditable ДиваНевозможно охватить компресс HTML текст с одинарными или двойными кавычками

var1 = 'x'; 
var2 = someVar 

Target

<span class="frag">var1 = 'x'</span>; 
<span class="frag">var2 = someVar</span>; 

JS

$('#board_code_dup').children().each(function (index, child) { 
    var text = $(child).html(); 

    //HOW TO DO THIS RIGHT? 
    text = text.replace(/([A-Za-z0-9_]+\s*=\s*[A-Za-z0-9&'"]+)/g, '<span class="frag">$1</span>'); 
}); 

Как я могу использовать HTML-объекты &quot; &apos; здесь вместо ' ", чтобы я мог его правильно обернуть?

+1

Я не уверен, что вы пытаетесь сделать, но использовать HTML-объекты вместо ' 'и' "' , вы можете использовать '(?: [A-Za-z0-9 &] | " | ')' или '(?: [A-Za-z0-9 &] | & (?: quot | apos);)' –

+1

Вы не создаете узел атрибута, поэтому вам не нужно использовать ''' или '"'. Кроме того, идея разбора кода JavaScript с использованием регулярных выражений будет терпеть неудачу, если только в * very * tr чехол. Исходный код JavaScript более выразителен, чем способны регулярные выражения. –

ответ

0

Это то, что я пытался "$('#board_code_dup').text()" и разделить его на «\ п» вместо ..

Он преобразует объекты позади сцены, как кавычки или двойные кавычки в источнике. Это может совпадать с reg-exp.

var result = $('#board_code_dup').text().split("\n").map(function (el, idx){ 
        return el.replace(/\s*;\s*$/,'').replace(/(\w+\s*=\s*[\w&"']+)/g,'<span class="frag">$1</span>'); 
      }); 
alert(result.join('')); 

Js скрипку Here

Я надеюсь, что это поможет ..

Смежные вопросы