1

jQueryで非常に醜い関数を使用して、pasteイベントをリッスンし、貼り付けから無関係なHTML形式をすべて削除しています。残念ながら、私が今持っているものは、お尻が醜いだけでなく、過度に厳格です。

この正規表現を改善して、WYSIWYGエディター内ですでに許可しているのと同じHTMLを許可したいと思います。これは、、、、、およびタグを許可したいことを意味<b>します。<i><br><a>

私はこれを自分で行うのに十分な正規表現を知りません。これが改善されるのを見るのは非常にありがたいことです。

$('iframe').ready(function() {
  $(this).contents().find('.wysiwyg').find('iframe').contents()
  .find('.wysiwyg').bind('paste', function() {
    var el = $(this);
    setTimeout(function() {
        var strClean = el.text().replace(/<\/?[^>]+>/gi, '');
        el.text(strClean);
    }, 0);
  });
});

この醜いコードがここで機能しているのを見ることができます:http://jsfiddle.net/v4LhV/3/

4

1 に答える 1

2

完全に機能するDOMパーサー、つまりブラウザーが手元にあるので.html()、要素(画面外)を使用してすべてを解析してから、使用したくないものを削除してみませんか.unwrap()

于 2011-06-02T22:55:04.533 に答える