2017-05-04 3 views
0

角括弧で囲まれたすべてのテキストをコードとして強調表示できるライブテキストエディタを作成します。 [example]テキストと色をフォーマットするライブエディタを作成する

<div>からテキストを引き出し、[text]のようにコード要素を置き換えるにはどうすればよいですか?

例: <code>[word]</code>[word]を交換してください。

これは私が編集ウィンドウに関してに持っているものです。

<div contenteditable="true" id="edit"> 
    The big <code>[color]</code> fox jumped over the lazy <code>[animal]</code>. 
</div> 

大きな[color]キツネが怠惰な[animal]を飛び越えました。

私はJSのこの少しを作ったが、それは何もしません。

EDIT = document.getElementById("edit"); 

EDIT.onkeypress = function(event) { 
    if (event.keyCode === 221) { 
     var text = EDIT.innerText; 
     EDIT.innerHTML = text.replace(/\[([\w\s]+)]/g, "<code>[$1]</code>"); 
    } 
}; 

あなたが見ることができるように、私はそれを行うには正規表現の少しを使用しようとしています。

これ以外にも、私が望むものを達成する方法は考えられません。そして、これでも動作しません。

ありがとうございました。

+1

特定の質問をする必要があります。これはサイトにとって広すぎる方法です。このままでこの質問に答えるには、将来的に誰にも役立たない大規模なチュートリアルを書く必要があります。 – Carcigenicate

答えて

0

divの内側のhtmlを取得し、開いた括弧を検索して閉じ括弧にインデックスを付けるだけでなく、それらのインデックスを配列に追加し、開いている/閉じるの各セットに対してそれを行い、配列からインデックスを取り除き、それらのインデックスの範囲内にある文字を強調表示しますか?

私はあなたに良い答えを与えたいと思いますが、私はあなたが使用しているスタックやJavaScriptライブラリなどについて言及していません。君は。

+0

バニラすべて。 – spikespaz

+0

私は、ええ、私はあなたの唯一のオプションについては、とにかく残虐ではない唯一のものについては、上記と述べたと言うだろうが参照してください。 –

関連する問題