jQuery 仅在不存在时才替换字符

发布于 2024-12-08 15:20:49 字数 721 浏览 0 评论 0原文

我想替换所有 "<"和“>”与“[”和“]”,但我不想触摸/替换所有
”或“

$('.wysiwyg textarea').live('keyup',function(){

     wysiwyg_val = $(this).val();

    wysiwyg_val = wysiwyg_val
    .replace(/\n/g, "<br>")
    .replace(/\{code\}\{type="(.*)"\}/g, '<code><pre class="$1">')
    .replace(/\{img\}\{url="(.*)"\}/g, '<img src="$1"')
    .replace(/\{code\}/g,"<pre><code>")
    .replace(/\{\/code\}/g,"</code></pre>")
    .replace(/\{code}/g,"</code></pre>")
    .replace(/\{code\}\{(.*)}/g, '<code><pre class="$1">')
    .replace(/\{\/img\}/g,'/>');


    $('.wysiwyg-preview').html(wysiwyg_val);


  });

i would like to replace all the "<" and ">" with "[" and "]" but i want to not touch/replace all the "<br>" or "</br>"

$('.wysiwyg textarea').live('keyup',function(){

     wysiwyg_val = $(this).val();

    wysiwyg_val = wysiwyg_val
    .replace(/\n/g, "<br>")
    .replace(/\{code\}\{type="(.*)"\}/g, '<code><pre class="$1">')
    .replace(/\{img\}\{url="(.*)"\}/g, '<img src="$1"')
    .replace(/\{code\}/g,"<pre><code>")
    .replace(/\{\/code\}/g,"</code></pre>")
    .replace(/\{code}/g,"</code></pre>")
    .replace(/\{code\}\{(.*)}/g, '<code><pre class="$1">')
    .replace(/\{\/img\}/g,'/>');


    $('.wysiwyg-preview').html(wysiwyg_val);


  });

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

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

发布评论

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

评论(2

谁人与我共长歌 2024-12-15 15:20:49

更简单的方法可能是分两步处理。

首先,将所有 <> 替换为 []

其次,将 [br][/br] 替换为

>。

An easier way to do this is probably to handle it in two steps.

Firstly, replace all < and > with [ and ].

Secondly, replace [br] and [/br] back with <br> and </br>.

筑梦 2024-12-15 15:20:49

首先将
替换为 fakebropen
然后将
替换为 fakebrclose

wysiwyg_val = wysiwyg_val.replace("
","fakebropen").replace("
","fakebrclose" );

//然后进行操作

wysiwyg_val = wysiwyg_val.replace("fakebropen","
").replace("fakebrclose","
");

first replace <br> with fakebropen
then replace </br> with fakebrclose

wysiwyg_val = wysiwyg_val.replace("<br>","fakebropen").replace("</br>","fakebrclose");

//make your operations then

wysiwyg_val = wysiwyg_val.replace("fakebropen","<br>").replace("fakebrclose","</br>");

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