私のHTML。jQuery単純なwysiwygの置換
<div class="wysiwyg">
<textarea></textarea>
</div>
<div class="wysiwyg-preview"></div>
今私のjs。
var wysiwyg_val;
$('.wysiwyg textarea').live('keyup',function(){
wysiwyg_val = $(this).val();
wysiwyg_val = wysiwyg_val
.replace(/\n/g, "<br>")
.replace(/<br>/g,'[br]')
.replace(/\</g,'<')
.replace(/\>/g,'>')
.replace(/\{code}(.*){\/code}/g, '<pre class="prettyprint"><code>$1</code></pre>')
.replace(/\[br\]/g,'<br>');
$('.wysiwyg-preview').html(wysiwyg_val);
});
私は{code} $content {/code} with <pre><code> $content </code></pre>
を交換しようとしていると、それは動作しますが、それは私がテキストエリア内{code} some content{/code}
を入れて、最初の時点でのみ動作し、その後、私は同じ{code} some content{/code}
を入れて二回目からは、全ての第1 <pre><code></code></pre>
の内側を示し、最初に設立されたばかりでなく、どのようにして{code}$content{/code}
のすべてに交換部品を取り付けることができますか?
あなたのコードは本当に大丈夫ですし、これらの2行についての混乱がありました。返信() – sbaaaang
私はlive()に変わりました。時々i $ .load()がdinamically P – sbaaaang
jsLintを使ってコードを実行しましたが、正規表現の中で '.'を使うのは好きではありませんでしたので、なぜその行を2つに分割しないのか分かりませんでした。 – Mottie