wordpressでエントリ内の改行処理
- markdownで改行をするときは文末にスペースを2回入れなければいけない。
- syntax hilighterで、空行の入ったコードが
<p>タグで分断される。
これらの対策を考えた。
に書いてある通りにとりあえずやってみる。
WordPress2.7.1を使ってるので、
CamCam » Blog Archive » 改行プラグイン WP2.7対応版
をインストール。
/wp-content/plugins/brBrbrbrBrbr.phpを編集
$brbr = preg_replace('/(<form.<em>?>)(.</em>?)<\/form>/ise', "clr_br('$0')", $brbr);
$brbr = preg_replace('/(<pre.<em>?>)(.</em>?)<\/pre>/ise', "clr_br('$0')", $brbr);
$brbr="<p>\n".$brbr."</p>\n";
function clr_br($str){
$str = str_replace("<br />\n","\n",$str);
$str = str_replace('\"','"',$str);
<code-style>で囲う部分がめんどくさかったんでsyntax hilighterで挿入される<pre>タグに改行を消す処理を追加。
そうするとsyntax hilighterのコード内に<br />があるとそれも消えるので、
行末の<br />だけ消すようにし、
HTMLコードなどをsyntax hilighterで書くときは、
<br />を行末に置かないようにして対応することにした。
例えば、
[code language="html"]あああ<br /> いいい[\/code]というように、
<br />の後にスペースを一個入れとくとか。
あとは、<p><ul>タグのmarginを0pxにするように、sytle.cssに書いといて、いい感じになったと思う。
たぶん、ページ全体のレイアウトがえらいことになってると思うので、後から気付いたところは微調整しよう。