Jquery 实时替换文本不起作用

发布于 2024-12-07 22:29:48 字数 836 浏览 0 评论 0原文

这是我的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>

如果我在文本区域内仅放置 1 个 {code}{/code} ,但如果我放置 2 个 {code}{/code} {code}{/code} ,则此代码有效code> 它仅替换第一个,我如何将此函数应用于 wysiwyg_val 内的所有文本?

this is my 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);


  });

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 ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心作怪 2024-12-14 22:29:48

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,'/>');

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,'/>');
尝蛊 2024-12-14 22:29:48

Hej Ispuk,

您的代码中已经有了解决方案,

.replace(/\n/g, "<br />")

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文