BIBORock -2ページ目

BIBORock

プログラミングやサイト作成の備忘録です

function comment($comment) {

$message = preg_replace(//末尾の開始pタグを直前のp終了タグとともに排除
'/<\/p><p>$/', '', str_replace(//中身のないp要素を排除
'<p></p>', '', str_replace(//連続改行をp要素終了とp要素開始に差し換える
'<br /><br />', '</p><p>', preg_replace(//末尾の全角スペースを排除
'/ $/', '', preg_replace(//先頭の全角スペースを排除
'/^ /', '', preg_replace(//末尾の半角スペースを排除
'/ $/', '', preg_replace(//先頭の半角スペースを排除
'/^ /', '', str_replace(//連続した全角スペースを全角スペース一つに
'  ', ' ', str_replace(//連続した半角スペースを半角スペース一つに
'', ' ', preg_replace(//末尾のbr要素を排除
'/<br \/>$/', '', preg_replace(//先頭のbr要素を排除
'/^<br \/>/', '', str_replace(//3連続以上のbr要素を2連続に差し換える
'<br /><br /><br />', '<br /><br />', str_replace(//br要素とbr要素の間の改行コードを排除
array(
"\r\n", "\r", "\n"
), '', nl2br(//改行コードをbr要素に差し換える
h(//クオート変換(htmlspecialchars関数)
$comment
)
)
)
)
)
)
)
)
)
)
)
)
)
)
);

$comment = '<p>' . $comment . '</p>';//p要素に入れる


$message = mb_convert_encoding($message, 'sjis', 'utf8'); //mb_convert_kana関数を使うためにsjisに変換
$message = mb_convert_kana($message, "K", "sjis"); //半角カタカナを全角カタカナに変換

mb_substitute_character('none'); //絵文字削除ここから
$message = mb_convert_encoding($message, 'utf8', 'sjis'); //utf8に戻す
preg_match_all(
'/[\x1B][\x24][G|E|F|O|P|Q][\x21-\x7E]+([\x0F]|$)/', $message, $arr
);
$search = $arr[0];
$message = str_replace($search, array(), $message); //絵文字削除ここまで

$comment = preg_replace(//urlをリンクに
array(
"/(https?|ftp)(:\/\/[[:alnum:]\+\$\;\?\.%,!#~*\/:@&=_-]+)/i"
), array(
"<a href=\"\\1\\2\">\\1\\2</a>"
), $comment);

return $comment;
}


※nl2br関数の存在を知りませんでした。加筆修正しました。2012.9.23