自動改行を部分的に解除

このFC2ブログの「自動改行」って機能は結構便利なんですが
いかんせん、なんであろうと改行なら<br>を追加してくるのでちょっと困ってしまった。

ので、ちょっと強引に解決してみた。

その方法は・・・
JavaScriptで再度書き換え。

いやー、われながら強引w

まあでも・・ほかにいい方法が思い浮かばなかったので。

スクリプトはこんな感じ。

var elements = document.getElementsByTagName("pre");
for(var i=0; i < elements.length; i++){
var s = elements[i].innerHTML;
var flag = s.indexOf("<br>",0);
while(flag != -1){
s = s.replace("<br>","\r\n");
elements[i].innerHTML = s;
flag = s.indexOf("<br>",0);
}
}

これをどこかに入れればOK
テンプレートの一番下にでも入れちゃってもいいかも。
でもまあ、普通は記事の必要なページにだけでいいかな。

その場合は改行を全部なくして一行にしてください。
こんな感じ。

var elements = document.getElementsByTagName("pre"); for(var i=0; i < elements.length; i++){ var s = elements[i].innerHTML; var flag = s.indexOf("<br>",0); while(flag != -1){ s = s.replace("<br>","\r\n"); elements[i].innerHTML = s; flag = s.indexOf("<br>",0); } }

今のところちゃんと動いてるっぽいです。
これでSyntaxHighlighterがさらに生きてくる!!はず。
弊害としてはSyntaxHighlighterのpre内でも<br>って普通にかけなくなったってことぐらいですかね?今回みたいにコードとして書きたい場合はエスケープ文字?で逃げてください。
&lt;ってやつね。




関連記事

tag : JavaScript SyntaxHighlighter


comment

Secret

 

Ads
プロフィール

はち

はち

最新記事
最新コメント
最新トラックバック
カテゴリ
検索フォーム
RSSリンクの表示
タグクラウド
QRコード
QRコード
月別アーカイブ
カウンター