my-markdownでem、strongタグルール修正とpreタグ内部を除外するように修正

最近作ったWordPressプラグインmy-markdownの調子が悪かったので更新しました。
[tezuuuuuka/my-markdown](https://github.com/tezuuuuuka/my-markdown “my-markdown”)
何のプラグインかは前の記事をどうぞ。
JP Markdown相当のものを正規表現で作ってみた | 曖昧/旬.

調子悪かったのは2つ。
* em、strongタグを出すマークダウンが本文の最初か最後にあると変換されない
* preタグの中を変換してしまう
コードはGothubを見てね。

ひとつ目の問題は薄々気づいていたんだけど、放ったらかしにしてました。ごめんなさい。でも、実際のところ、厳密にどういうルールにするかってのは難しくて、厳しくし過ぎると変換されないし、ゆるくしちゃうと意図しないものまで変換されちゃう。

じゃあ自分が作ったプラグインのルールはどうなっているかというと、こんな感じかな。

スペースの直後か行頭に**または__で始まり、直後に*でも_でも半角スペースでもない文字が続き、その後*でも_でも改行文字でもない文字が連続して、その後に最初に出た**か__と同じものが来て、その後に半角スペースか改行文字か行末が来た場合、**か__で囲まれた部分をstrongタグで囲み、囲んでいた記号は消去する。

みたいな感じかな。長い。だけど、そういうことなんだな。

preg_replace() のルールはもう少し簡単に書けそうな気がするんだけど、どうも`.`が上手く機能しなかったり、先読み、後読みが思った通りに動かなかったりで、なかなかコンパクトにならなかったです。まー、全部自分の使い方が悪いんでしょうけど。

で、もうひとつのpreタグの件は前からやりたかったんだけど、ふと昔の記事を見るとpreタグの中にコードをゴチャゴチャ書いていて、それが悪さしてか記事が表示すらされない状況になってたんだよね。それはちょっと困るので修正。

修正内容はコードを見て欲しいけど、簡単に言うとexplode()、implode()を使ってpreタグで切っていって、必要なところのみpreg_replace()、って感じです。フットノートの部分は切り取っていって最後に貼り付けになっちゃった。やっぱ正規表現だけじゃ厳しいね。

ってな感じですが、テーブルの簡単記述はまた今度。