- ベストアンサー
インデントってどうやって表示するの?
プログラムのソースプログラムをウェブに載せたいのですがホームページビルダーなどに ソースをこぴぺすると全て字下げがなくなってしまいます。 こんな感じです。 #include<stdio.h> int main(){ printf("hello\n"); return 0; } これが #include<stdio.h> int main(){ printf("hello\n"); return 0; } こうなってしまうわけですね。 字下げはTABキーのインデントで行っています。 1行ずつスペースを書いていけばいいのでしょうけど 何しろ何百行もあるソースですのでそれは無理です。 字下げを失わずにHTMLに変換することできないでしょうか?
- みんなの回答 (11)
- 専門家の回答
質問者が選んだベストアンサー
pre要素でマークアップしてください。 あと、それはサンプルコードなので、code要素でマークアップする必要があります。 また、<と>は実体参照で書けば大丈夫。 結論: <pre><code>#include<stdio.h> int main(){ printf("hello\n"); return 0; }</code></pre>
その他の回答 (10)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
<textarea></textarea> を使うっていうのもありかと <>なんかは既に書かれているように変換
- aqucent
- ベストアンサー率39% (78/200)
#8です。 #3 の方が指摘されているようですが、上手く表示されていないようなので代わりに説明を。 <>& はHTML上では特殊文字なので、実体参照に置換してください。 HTML文字実体参照一覧 http://yue.sakura.ne.jp/melody/ware/iso88591.html 先程は説明しませんでしたが、ついでなのでもう一つ。 HTML文法上、pre要素内にTab文字を書くことは避けることが推奨されています。 (ただ、主要なWebブラウザでTab文字が表示されているようなので、私は気にせず、Tab文字を使っています。) この辺は、ポリシーの問題なので、よく考えて決めて下さい。 Another HTML-lint : Explanation http://openlab.ring.gr.jp/k16/htmllint/explain.html#tab-in-pre
- aqucent
- ベストアンサー率39% (78/200)
pre要素で括るか、CSSの "white-space: pre" を適用するのが手っ取り早い解決法です。 インデント文字(Tab)を一括置換するなら、「空白の実体参照」か全角空白でしょうね。 (単純に、半角空白に置換すると、複数個の半角空白も1つの半角空白として表示してしまいます。) それと、コード文を記述するときには、code要素で括るか、 "font-family: monospace" を適用して、等幅フォントで表示させた方が良いと追います。 コード文は等幅フォントでないと読みにくいですから。
- steel_gray
- ベストアンサー率66% (1052/1578)
何百行もあるならば、テキストファイルとしてインラインフレームに読み込むとか、単純にテキストファイルを単独でリンクするとかいった方法の方が読みやすい気がします。 (無理にHTMLに埋め込む必要はないように感じます。)
Tab や行頭の半角スペースは基本的に無視して表示されます。 半角スペースに関しては など実体参照で出力するようにしなければなりません。 Tab は…試して見たことがないので知りません。
- pchan0022000
- ベストアンサー率42% (112/261)
参考URLのようなツールを使うのはどうでしょう? 気にいらなければ、自分好みの変換プログラム作っちゃうのも手ですよ。
- PrintScree
- ベストアンサー率25% (538/2091)
質問文と同じように、全角スペースでインデントすればちゃんと表示されます。
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 追記です。「<」とか「>」とか「&」は <>&にする必要があります。 テキストエディタの置換機能を使えば大丈夫ですかね。
- matui2000
- ベストアンサー率19% (30/155)
秀丸などでTABをSPACEに置き換えられてみてはどうでしょうか?
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 <pre></pre> で囲んではいかがでしょうか?