全文配信用のサブルーチン追加。以下を『(関数)文字列カット』の上に入れた。 sub Morelink { my( $str ) = @_; #画像とリンクを絶対パスに変換 use URI; $str =~ s/(href="|src=")([^"]+?)"/$1. URI->new_abs($2, $RSS_BASE_URI2) .'"'/eg; #ネタバレ部分を隠す $str =~ s/(]*sfield_view.*?>)([^<]*<\/a>)/$2/g; $str =~ s/(]*"nbtn"[^>]*value=")([^"]*)(\" onclick[^>]*sfield_view.*?>)/$2<\/a>/g; $str =~ s/]*sfield\".*?<\/div>//g; #
$str =~ s/
/
\n/g; $str =~ s/(]*)([^\/])>/$1$2 \/>/g; return $str; } -------------------------------------- 『ログ取得』以下を次のように書き換え。 #********************************************************** #* ログ取得 #**********************************************************/ for ($_ = 0; ($_ <= $#nli) && ($_ < $RSS_NUM); $_++) { # ファイル読み込み open(FILE, "<.$nli[$_][0]"); @logfile = ; close(FILE); chomp($logfile[0]); @logdata = split(/\x01/, $logfile[0]); # 記事のURI $flist=$nli[$_][0]; $flist =~ s/^$vDir//g; $dateSUB = substr($flist, 9, 1); $dateY = substr($flist, 0, 4); $dateM = substr($flist, 5, 2); $dateD = substr($flist, 7, 2); $RSS_ITEM_URI=$RSS_SCRIPT_URI."?DT=".$dateY.$dateM.$dateD.$dateSUB."#".$dateY.$dateM.$dateD.$dateSUB; # タイトル if ($logdata[1] eq "") { $logdata[1] = "Untitled"; } # ログのタグを除去 $logdata[2] = Morelink($logdata[2]); $logdata[1] = Striptags($logdata[1]); $desc = Striptags($logdata[2]); # 本文丸め込み $logdata[1] = Trimwidth($logdata[1], 100); $desc = Trimwidth($desc, 200); # 日付 if ($logdata[0] =~ /.*(\d\d):(\d\d)$/) { $DATETIME = sprintf("%s-%s-%sT%02d:%02d:00+09:00",$dateY,$dateM,$dateD,$1,$2); } else { $DATETIME = sprintf("%s-%s-%sT00:00:00+09:00",$dateY,$dateM,$dateD); } # FOAFによる画像メタデータを出力する # $RSS_OUTPUT_FOAFIMAGEに『0』を指定した場合は除く my($altname); if ($logdata[9] eq "") { $altname = $logdata[3]; }else{ $altname = $logdata[9]; } $FOAFIMAGE = ""; if( $RSS_OUTPUT_FOAFIMAGE and $logdata[3] ne "" ) { # サムネイル if ($logdata[3] =~ /(.*)(\.jpg$|\.jpeg$|\.gif$|\.png$)/) { my $thumbnail = $1.".thumb"; if (-e $vDir."/".$dateY."/".$thumbnail.".jpg") { $FOAFIMAGE .= "
\"".$altname."\"

\n"; } elsif (-e $vDir."/".$dateY."/".$thumbnail.".jpeg") { $FOAFIMAGE .= "\"".$altname."\"

\n"; } elsif (-e $vDir."/".$dateY."/".$thumbnail.".gif") { $FOAFIMAGE .= "\"".$altname."\"

\n"; } elsif (-e $vDir."/".$dateY."/".$thumbnail.".png") { $FOAFIMAGE .= "\"".$altname."\"

\n"; }else{ $FOAFIMAGE .= "\"".$altname."\"

\n"; } } } # タグにまとめる $RESOURCES .= " \n"; $ITEMS .= " \n"; $ITEMS .= " ".$logdata[1]."\n"; $ITEMS .= " ".$RSS_ITEM_URI."\n"; $ITEMS .= " ".$desc."\n"; $ITEMS .= " "; $ITEMS .= " ".$auther."\n"; $ITEMS .= " ".$DATETIME."\n"; $ITEMS .= " \n"; } --------------------------------------- 『XMLとしてまとめます』内の「 xml:lang="ja">」の上の行あたりに xmlns:content="http://purl.org/rss/1.0/modules/content/" を追加。