質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

Q&A

解決済

1回答

414閲覧

highlight.jsの使い方

eq_space

総合スコア38

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

0グッド

0クリップ

投稿2017/11/24 14:35

highlight.jsを使いブログにコードを貼り付けようとしているのですが
cssはうまくいくのですがhtmlはうまくいかずcssが適用されてしまいます。

<pre><code> ここにコードを記述 </pre></code>

調べて見たところ
HTMLのソースコードを表示したい場合はHTMLエスケープされたコードじゃないとだめらしいですが
それ以外になんかいい方法ないでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

とりあえず、HTMLコードの順序がおかしいですね。

html

1<pre><code> 2ここにコードを記述 3</pre></code>

<pre><code> ここにコードを記述 </code></pre>

これでだめでしょうか?
私のサイトでは、正常に動作しているのですが……
正常に動作していないスクリーンショットなどございますか?

追記

失礼しました。

HTMLのソースコードを表示したい場合はHTMLエスケープされたコードじゃないとだめらしいですが

それ以外になんかいい方法ないでしょうか?

こちらの部分を見落としておりました。

そうですね、エスケープを行わないとやはり<code>タグ内といえどHTMLと解釈されてしまいます。
なので、JavaScriptなどで<code>タグの中身を簡単にエスケープしてしまえばいいかと思います。

↓エスケープのサンプル

JavaScript

1//コードエリア 2$("code").html(function(){ 3 var txt = $(this).html(); 4 5 //クォーテーションの置換 6 txt = txt.replace(/["]/g, "&quot;"); //" 7 8 //<>の置換 9 txt = txt.replace(/[<]/g, "&lt;"); 10 txt = txt.replace(/[>]/g, "&gt;"); 11 12 //(最後に)全ての改行コードを<br>に変更 13 txt = txt.replace(/[\n\r]/g, "<br>"); 14 txt = txt.replace("<br>", ""); //最初の行の「<br>」を削除 15 16 $(this).html(txt); 17});

投稿2017/11/24 16:13

編集2017/11/24 16:38
nnahito

総合スコア2004

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

eq_space

2017/11/25 08:16

すばらしい回答ありがとうございます! jsでこんな制御できるんですね。 js勉強します笑
nnahito

2017/11/25 10:08

あ、これ、jqueryというプラグインをつかってますので、その所よろしくお願いします。 あれ……?Highlightjsって、jquery入りましたっけ? jqueryを使ってたらこのコメントは無視してください!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問