この質問を考えるにはいくつかの方法があります。あなたにとって最も役立つものを自分で決めてください…</p>
- javascript は「xmp」クラスで非推奨の <xmp> タグを再作成できますか?
- SO のマークダウン プロセッサのエスケープ タグをインライン コード内で模倣できますか?
- (metaSO、認めます) SO の md プロセッサはインライン コードでタグをどのようにエスケープしますか?
- HTML に埋め込まれたマークダウン コード ブロックで < をエスケープできますか?
目標: をエスケープするクラスで<
、そのクラスにテキスト <html>、<body>、<head>、<script>、<style>、<body>、および < 内に属さないその他のタグを含めることができます。 body> または、特別な加工をせずに特別な加工を施しています。
<xmp> はこれを達成しました (そして実際には引き続き - 非推奨ですが、まだブラウザーでサポートされています):<xmp><body></xmp>
のよう<body>
でした。SO のマークダウン プロセッサはこれをインラインコードで実現します<body>
。これ ;)
<
これまでのところ、すべてを置き換えるという私のソリューション<
は、あまり特別ではない HTML タグを処理します (<body> 内の静的コンテンツ タグの名前はありますか? <div>、<code>、<span> など)。 「特別な」タグは引き続き < で開始する必要があります。<の代わりに
Javascript:
xmps = document.getElementsByClassName('xmp');
for (var i = 0; i < xmps.length; i++) {
var xmp = xmp.item(i);
var newhtml = xmp.innerHTML.replace(/\>/g,"\>").replace(/\</g,"\<");
xmp.innerHTML = newhtml;
}
それで私は書くことができます<div class="xmp"><body></div>
。
何が許可されますか
<div class="xmp"><body></div>
?
またはどうですか?
<div class="xmp">
<body>
&/div>
</div>
私のプロジェクトの詳細は重要かもしれません: マークダウンがあるclass="xmp"
ので、行頭文字に注意する必要があります>
。ユーザー入力がないため、セキュリティは問題になりません(?)。jQueryを使わない解決策を期待しています。