私は数時間、単純な問題と思われるものに苦労してきました。機能する REGEX 式を作成しましたが、HTML を処理するためのよりエレガントなアプローチを望んでいました。ページでコンテンツを直接処理するのではなく、文字列が関数に渡されます。多くの例を見た後、何か間違ったことをしているに違いないと感じました。文字列を取得して、データベースに保存する前にクライアント イベントを消去しようとしています。これには jQuery が最適だと思いました。
私が欲しい:
Some random text <a href="http://stackoverflow.com" onclick="return evilScripts();">click here</a> and a link with any event type
//to become:
Some random text <a href="http://stackoverflow.com">click here</a> and a link with any event type
これが私のコードです
function RemoveEvilScripts(){
var myDiv = $('<div>').html('testing this <a href="#Foo" onclick="return runMyFunction();">Do it!</a> out');
//remove all the different types of events
$(myDiv).find('a').unbind();
return $(myDiv).html();
}
私の結果は、 onClick がアンカータグに残ります。