这是我的js。
$('.wysiwyg').live('keyup',function(){
wysiwyg_val = $(this).val();
wysiwyg_val = wysiwyg_val
.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);
});
html是。
<textarea class="wysiwyg"></textarea>
<div class="wysiwyg-preview"></div>
如果我在textarea中只放置1 {code}{/code}
,则此代码有效,但是如果我放置2 {code}{/code} {code}{/code}
它只替换第一个,那么我如何将此函数应用于{{{}内的所有文本1}}?
答案 0 :(得分:1)
g
应该用于替换global
。此外,我还使用\
来转义特殊字符,例如{
,/
等。以下是为您更正的代码:
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,'/>');
答案 1 :(得分:1)
Hej Ispuk
您已经在代码中找到了解决方案
.replace(/\n/g, "<br />")
g将它全局化。对代码块使用相同的技术。