昨日設定した「最新のRSS記事をtwitterへ自動投稿するPHPスクリプト(「記事:RSSからtwitterへ自動投稿するPHPスクリプト)なんだが、
記事のURLがパラメータ付きの場合、(例:?p=268) 「=」がサイニタイズされて、
「%3D」となり例で言えば「?p%3D268」が短縮URLとして出力される・・・
当然そうなると、写真1の修正前URL「http://tinyurl.com/4rgvsjb」を叩くと、
「http://pic.ph.cmix.info/?p%3D267」にアクセスし、写真2のように正しく表示されない・・・
とにかくこのままじゃまずいので修正!
修正後、写真1の修正後「http://tinyurl.com/4rncdur」で写真3の「http://pic.ph.cmix.info/?p=268」にアクセス成功!
どーやったかと言えば、PHPスクリプトの「simplepie.php」にあるサニタイズ部分
「function replace_invalid_with_pct_encoding($string, $valid_chars, $case = SIMPLEPIE_SAME_CASE)」
が問題なんだが・・・・・・
もうめんどくさいので、「twitter.class.php」に
「str_replace(‘%3D’, ‘=’, $item->get_permalink())」を追加して問題箇所に対応^^)
てか!
寝る時間を削ってしまったwww
コメント