Simple TweetでHTML実体参照を変換して投稿する方法


ブログの更新情報をTwitterに反映してくれるプラグイン「Simple Tweet」。非常に使い勝手がいいのですが、自分の環境では記事タイトルに含まれる実体参照(「&」や「<」「>」など)がそのまま(本来の文字に変換されずに)Twitterに反映されていました。私の環境ではちょくちょく発生し、ちょっと困っていたので、コードに手を入れて直してみました。修正元のバージョンは1.3.6です。

[function _do_tweetの内部]

$post_title = $post->post_title;
// add yoshikawa begin
$post_title = html_entity_decode($post_title, ENT_QUOTES, "UTF-8");
// add yoshikawa end

[function TweetThisLinkの内部]

$post_title = $post->post_title;
// add yoshikawa begin
$post_title = html_entity_decode($post_title, ENT_QUOTES, "UTF-8");
// add yoshikawa end

投稿タイトルを$post->post_titleで引っ張っているところがあるので、その文字列をhtml_entity_decode関数に食わせて実体参照を変換すればOK。文字コード指定「UTF-8」がないと、文字によってはTwitterに反映されないことがあるので注意。

というわけで、Simple Tweetの不具合を自分で解消できたので、dlvr.itによるTwitterへの更新通知を停止して、再びSimple Tweetを使っていきたいと思います。優柔不断ですみません。

【追記】作者様にこの情報を連絡させていただきました。次バージョンでの対応を検討していただけるということで、期待して待ちたいと思います。

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.