質問
試してみることにしました http://www.screwturn.eu/ コード スニペット ストレージ ユーティリティとしての wiki。ここまでのところ、私は非常に感銘を受けていますが、保存したいコードをコピペすると、「<」と「[」(http://en.wikipedia.org/wiki/Character_encodings_in_HTML#Character_references) Wiki が出力を Wiki タグまたは HTML タグとして解釈するため、常に出力が台無しになります。
誰かこれを回避する方法を知っていますか?または、それができない場合は、C++ コードを取得して HTML セーフ コードに変換する簡単なユーティリティをご存知ですか?
解決
コードを <nowiki> で囲みます。</nowiki>タグ。
他のヒント
使用できます @@...@@ タグを使用してコードをエスケープし、自動的にラップします。 プレ タグ。
ユーティリティについては知りませんが、検索/置換を行う非常に単純なアプリを作成できるはずです。山括弧を表示するには、山括弧を次のように置き換えるだけです。 >
そして <
それぞれ。角括弧については、マークダウンに関する wiki 固有の問題だと思います。
Dario Solera は、「@@...@@ タグを使用してコードをエスケープし、自動的に PRE タグで囲むことができます。」と書いています。
ラップしたくない場合は、次のようにしてください。 <esc></esc>
エスケープが必要な文字のリスト:
- < (小なり記号)
- & (アンパサンド)
- [ (開き角括弧)
貼り付ける前に、コードを HTML pre タグまたは code タグでラップしてみましたか?どちらの場合も、HTML として解釈されることなく、特殊文字 (「<」など) を使用できます。pre はコンテンツのフォーマットも考慮します。
例
<pre>
if (foo <= bar) {
do_something();
}
</pre>
Web ページに C++ コードを投稿するには、まず有効な HTML に変換する必要があります。これには通常、 HTML 文字エンティティ, 、他の人が指摘したように。これは交換に限ったことではありませんが、 <
そして >
と <
そして >
. 。次のコードを考えてみましょう。
unsigned int maskedValue = value&mask;
ああ、HTML DTD には次のエンティティが含まれていますか? &mask;
?交換した方が良いです &
と &
同じように。
別の方向に進むと、取り除くことができます [
そして ]
それらを トリグラフ ??(
そして ??)
. 。C++ では、トライグラフとダイグラフは、すべての文字セットで使用できない特定の文字を表すために使用できる文字のシーケンスです。ただし、ほとんどの C++ プログラマには認識されそうにありません。