GeeklogのRSS配信の修正

  • 2008年11月 6日(木) 17:20 JST
IEエンジンを使うと、RSSがうまくパース出来ない時がある。

「<br /」ってなかんじで>が抜けている場合、発生する。

ソースを読むと、ちゃんと対応している。。。どうやら、マルチバイトの認識がおかしいっぽいので修正。。。

{private}/system/lib-syndication.phpをエディタで開き、566行目あたりの「SYND_truncateSummary」関数を以下のように変更
function SYND_truncateSummary( $text, $length )
{
if( $length == 0 )
{
return '';
}
else
{
$text = stripslashes( $text );
$text = trim( $text );
$text = preg_replace( "/(\015)/", "", $text );

if(( $length > 3 ) && ( MBYTE_strlen( $text ) > $length ))
{
// マルチバイト対応 2007/04/12 hiro {
// $text = substr( $text, 0, $length - 3 ) . '...';
$text = MBYTE_substr( $text, 0, $length - 3 ) . '...';
// } マルチバイト対応 2007/04/12 hiro
}

// Check if we broke html tag and storytext is now something
// like "blah blah <a href= ...". Delete "<*" if so.
if( mb_strrpos( $text, '<' ) > mb_strrpos( $text, '>' ))
{
$text = MBYTE_substr( $text, 0, mb_strrpos( $text, '<' ) - 1 )
. ' ...';
}
return $text;
}
}
今1.4.1を使っているのだが、最新版だと直っているのかな?

トラックバック

このエントリのトラックバックURL:
http://web.fpso.jp/trackback.php/20081106172030787
表示形厼

コメントは投稿者の責任においてなされるものであり,サイト管理者は責任を負いません。

コメントの投稿

投稿情報
アカウントを作る
使用できるHTMLタグ: <a>, <b>, <blockquote>, <br>, <code>, <div>, <font>, <em>, <hr>, <i>, <li>, <ol>, <p>, <pre>, <strong>, <tt>, <ul>, [code], [story:], [staticpage:], [link:]
注意事項
  • 内容にそった話題で投稿してください
  • できるだけ新しいスレッドを立てず,コメントを追加してください
  • 他の人のコメントをよく読んで同じようなコメントを投稿しないようにしてください
  • 内容がよくわかるタイトルをつけてください
  • あなたのメールアドレスは表示されません!(保護されています)