this is my js.
$('.wysiwyg').live('keyup',function(){
wysiwyg_val = $(this).val();
wysiwyg_val = wysiwyg_v开发者_JAVA百科al
.replace(/\n/g, "<br />")
.replace(/\n\n+/g, '<br /><br />')
.replace("{code}","<pre><code>")
.replace("{/code}","</code></pre>")
.replace("{img}",'<img src="http://localhost/CI_DEVBASE/img/logo.png" width="150" height="50"')
.replace("{/img}",'/>');
$('.wysiwyg-preview').html(wysiwyg_val);
});
the html is.
<textarea class="wysiwyg"></textarea>
<div class="wysiwyg-preview"></div>
this code works if i put just 1 {code}{/code}
inside the textarea, but if i put 2 {code}{/code} {code}{/code}
it replaces only the first one, how can i apply this function to all the text inside wysiwyg_val
?
g
should be used for global
replacement. Also I have used \
to escape special characters like {
,/
etc. Here's the corrected code for you:
wysiwyg_val = wysiwyg_val
.replace(/\n/g, "<br />")
.replace(/\n\n+/g, '<br /><br />')
.replace(/\{code\}/g,"<pre><code>")
.replace(/\{\/code\}/g,"</code></pre>")
.replace(/\{img\}/g,'<img src="http://localhost/CI_DEVBASE/img/logo.png" width="150" height="50"')
.replace(/\{\/img\}/g,'/>');
Hej Ispuk
you already have the solution in your code
.replace(/\n/g, "<br />")
the g tels it to do it globally. Use the same technique with the code blocks.
精彩评论