【プラグイン:brBRbr】勝手に先頭に入ってしまう改行

2013年3月22日

現象としては

the_content()

で記事を出力すると文章の初めに改行が入ってしまうという事態が発生した。

まあ、原因はプラグインだろうなあと思い、一覧をチロチロ見てみると案の定怪しいモノがありましたよ。
タイトルの通りなのですが、【brBrbr】が怪しいなと。

調べてみると

$brbr = str_replace("n", "<br />n", $brbr); 

この部分が、クセークセーぜ!
バグの臭いがプンプンするぜ!

前置きはともかく修正方法は以下の通り

add_filter('the_content','custom_brBrbr', 9);
function custom_brBrbr ( $brbr )
{
	$brbr = str_replace(array("rn", "r"), "n", $brbr);
	$brbr = str_replace("n", "", $brbr);
	return $brbr;
}

これでオッケー?
え、ソースの説明をしろって?

考えるんじゃn(ry

$brbr = str_replace("n", "<br />n", $brbr); 

この部分が怪しいのがわかってるんですから、

add_filter('the_content','custom_brBrbr', 9);

先回りして機能不全にしてやるー!ってことで
フィルターを使って先回りして、
置き換えするものを消してしまえ!

$brbr = str_replace(array("rn", "r"), "n", $brbr);
$brbr = str_replace("n", "", $brbr);

これで機能不全が完了。

もちろんコレがバグだってわけじゃなくて、
自分の作ったプログラムの兼ね合いでよろしくないだけなわけで、
何か言いたいかって言うと
考えるんじゃn(ry

以上

  • この記事を書いた人

カバノキ

印刷会社のWEB部隊に所属してます。 WEB制作に携わってから、もう時期10年になります。 普段の業務では、PHPをメインにサーバーサイドの言語を扱っています。 最近のお気に入りはJavascriptです。 Vue.jsを狂喜乱舞しながら、社内に布教中です。

-WordPress