-3

重複の可能性:
テキストJavaScriptからHTMLを削除する

Javascriptの文字列からhtmlを削除し、:(コロン)を保持する方法はありますか?

テキストJavaScriptからHTMLを削除し、 textarea入力のhtmlタグとSOに関する同様の質問をどのように削除しますか?しかし、適切な解決策を見つけることができません。

たとえば 、"Something here<div> content</div>"与えるべきであり、与えるべきである"Something here content""Something here :)""Something here :)"

他の問題で提供される解決策は、HTMLコンテンツを削除するだけでなく、スマイリーも削除するのに役立ちます。

編集:テキストからスマイリーを取り除くソリューションについて言及する前に、www.chesshunt.comでチャットエンジンソリューションを改善するためにこれが必要であることに注意してください。現在、スマイリーと一緒にHTMLタグを削除しています

私の現在のコード

function strip(html) {
    var tmp = document.createElement("DIV");
    tmp.innerHTML = html;
    return tmp.textContent || tmp.innerText;
    }
4

6 に答える 6

2

「他の問題で提供されている解決策は、html コンテンツを削除するのに役立ちますが、スマイリーを削除するのにも役立ちます」というあなたの声明には同意できません。

リンクに基づく例を次に示します: http://jsfiddle.net/be8gz/

于 2012-10-17T19:28:21.573 に答える
2

コンテンツが別のコンテナーにあると仮定すると、.text() 関数を使用するだけです。

$('#some_container').text();
于 2012-10-17T19:16:59.520 に答える
2

を使用して要素を作成できます

var element = document.createNode('<div>'+yourString+'</div>');

次に、textContent (IE を除くすべてのブラウザー) または innerText を取得します。

編集: Arg、最初はタグに jQuery がありませんでした...使用することが可能です

var stripped = $('<div>'+yourString+'</div>').text();

デモンストレーション (笑顔を保つ)

于 2012-10-17T19:17:01.543 に答える
0

スマイリーを残したいかどうかわかりません。あなたの質問の例に基づいて、私はあなたがスマイリーを保持したいと仮定しなければなりませんが、htmlタグを取り除きます。このような正規表現は機能すると思います。

pattern = /<.*?>/g;

JSFiddleを参照してください。

于 2012-10-17T19:27:30.987 に答える
0

正規表現jsfiddleを使用できます

    var myStr = "Something here<div> content</div>";    
    var myRegEx = /<\/?[^<>]*\/?>/gim;
     var result = myStr.split(myRegEx).join("");

また

    result = myStr.replace(/<\/?[^<>]*\/?>/gim, "");

​
于 2012-10-17T19:17:10.627 に答える
0

単純な正規表現で仕事をする必要があります

var string = "Something here<div> content</div> :)";
alert(string.replace(/<([^>]+)>.*?<\/\1>/g,''));​
于 2012-10-17T19:19:36.420 に答える