電子書籍の厳選無料作品が豊富!

read.cgi


#-------------------------------------------------
# BBCode(特定の文字列をHTMLタグに変換)
#-------------------------------------------------
sub bbcodecnv {
my $str = shift;
$str =~ s/\[b\](.*?)\[\/b\]/<b>$1<\/b>/ig;
$str =~ s/\[i\](.*?)\[\/i\]/<i>$1<\/i>/ig;
$str =~ s/\[u\](.*?)\[\/u\]/<span style=\"text-decoration:underline\">$1<\/span>/ig;
$str =~ s/\[s\](.*?)\[\/s\]/<span style=\"text-decoration:line-through\">$1<\/span>/ig;
$str =~ s/\[code\](.*?)\[\/code\]/<code>$1<\/code>/ig;
$str =~ s/\[url=((?:htt|ft)ps?\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%\,]+)\](.*?)\[\/url\]/<a href=\"$1\" target=\"$target\" rel=\"nofollow\">$2<\/a>/ig;
$str =~ s/\[color=(\#[0-9A-F]{6}|[A-Z]+)\](.*?)\[\/color\]/<span style=\"color:$1\">$2<\/span>/ig;
$str =~ s/\[list=1\](.*?)\[\/list\]/<ol style="list-style-type: decimal">$1<\/ol>/g;
$str =~ s/\[list=A\](.*?)\[\/list\]/<ol style="list-style-type: upper-alpha">$1<\/ol>/g;
$str =~ s/\[list=a\](.*?)\[\/list\]/<ol style="list-style-type: lower-alpha">$1<\/ol>/g;
$str =~ s/\[list=I\](.*?)\[\/list\]/<ol style="list-style-type: upper-roman">$1<\/ol>/g;
$str =~ s/\[list=i\](.*?)\[\/list\]/<ol style="list-style-type: lower-roman">$1<\/ol>/g;
$str =~ s/\[list\](.*?)\[\/list\]/<ul style="list-style-type: disc">$1<\/ul>/ig;
$str =~ s/\[\*\]/<li>/ig;
return $str;
}

#-------------------------------------------------
# BBCode削除
#-------------------------------------------------
sub bbcodedel {
my $str = shift;
$str =~ s/\[b\](.*?)\[\/b\]/$1/ig;
$str =~ s/\[i\](.*?)\[\/i\]/$1/ig;
$str =~ s/\[u\](.*?)\[\/u\]/$1/ig;
$str =~ s/\[s\](.*?)\[\/s\]/$1/ig;
$str =~ s/\[code\](.*?)\[\/code\]/$1/ig;
$str =~ s/\[url=((?:htt|ft)ps?\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%\,]+)\](.*?)\[\/url\]/$1/ig;
$str =~ s/\[color=(\#[0-9A-F]{6}|[A-Z]+)\](.*?)\[\/color\]/$2/ig;
$str =~ s/\[list=1\](.*?)\[\/list\]/$1/g;
$str =~ s/\[list=A\](.*?)\[\/list\]/$1/g;
$str =~ s/\[list=a\](.*?)\[\/list\]/$1/g;
$str =~ s/\[list=I\](.*?)\[\/list\]/$1/g;
$str =~ s/\[list=i\](.*?)\[\/list\]/$1/g;
$str =~ s/\[list\](.*?)\[\/list\]/$1/ig;
$str =~ s/\[\*\]/ig;
return $str;
}




patio.cgi


# 改行をサニタイジング・BBCode削除
$com =~ s/<br>/&lt;br \/&gt;/g;
$com =~ s/\[b\](.*?)\[\/b\]/$1/ig;
$com =~ s/\[i\](.*?)\[\/i\]/$1/ig;
$com =~ s/\[u\](.*?)\[\/u\]/$1/ig;
$com =~ s/\[s\](.*?)\[\/s\]/$1/ig;
$com =~ s/\[code\](.*?)\[\/code\]/$1/ig;
$com =~ s/\[url=((?:htt|ft)ps?\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%\,]+)\](.*?)\[\/url\]/$1/ig;
$com =~ s/\[color=(\#[0-9A-F]{6}|[A-Z]+)\](.*?)\[\/color\]/$2/ig;
$com =~ s/\[list=1\](.*?)\[\/list\]/$1/g;
$com =~ s/\[list=A\](.*?)\[\/list\]/$1/g;
$com =~ s/\[list=a\](.*?)\[\/list\]/$1/g;
$com =~ s/\[list=I\](.*?)\[\/list\]/$1/g;
$com =~ s/\[list=i\](.*?)\[\/list\]/$1/g;
$com =~ s/\[list\](.*?)\[\/list\]/$1/ig;
$com =~ s/\[\*\]/ig;



エラーが出てしまいます。
どこがどう間違っていますか??


※BBCode削除と 改行をサニタイジング・BBCode削除がたぶん
ミスっていると思います。

A 回答 (1件)

コマンドプロンプトで。



>perl -c read.cgi
>perl -c patio.cgi

とやると、何行目がエラーになってるか表示されます。

スラッシュが1個抜けてるようですが、適宜やりたいようにどうぞ。
    • good
    • 0
この回答へのお礼

スラッシュが1個抜けてるっていうのが、
$com =~ s/\[\*\]//ig;
たぶんこれだったんだと思います。
2コ続けてるのが間違いなんじゃないかと勘違いしていました。
ありがとうございました!

お礼日時:2011/06/17 19:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!