本人对正则表达式不熟,不会写UBB的转换函数,后来在网上下载了一个程序,在其代码里找到了这个函数,并且运行成功,特贴出来共享一下:
function UBB2html($SourceStr){//UBB代码处理函数!目前只想支持<b><u><i><img><a>和mailto
$targetstr=str_replace(array("[b]","[/b]","[u]","[/u]","[i]","[/i]"),array("<b>","</b>","<u>","</u>","<i>","</i>"),$SourceStr); //<b><u><i>
$ubbcodes['searcharray'] = array(
"/\[url=(https?|ftp|gopher|news|telnet|mms|rtsp)([^\[]*)\](.+?)\[\/url\]/eis",
"/\[url\]www\.([^\[]*)\[\/url\]/eis",
"/\[url\](https?|ftp|gopher|news|telnet|mms|rtsp)([^\[]*)\[\/url\]/eis",
"/\[email\]\s*([a-z0-9\-_.+]+)@([a-z0-9\-_]+[.][a-z0-9\-_.]+)\s*\[\/email\]/i",
"/\[email=([a-z0-9\-_.+]+)@([a-z0-9\-_]+[.][a-z0-9\-_.]+)\](.+?)\[\/email\]/is",
"/\[img\](.+?)\[\/img\]/is"
);
$ubbcodes['replacearray'] = array(
"cvurl('\\1','\\2','\\3')",
"cvurl('\\1')",
"cvurl('\\1','\\2')",
"<a href=\"mailto:\\1@\\2\">\\1@\\2</a>",
"<a href=\"mailto:\\1@\\2\">\\3</a>",
"<a href=\"\\1\" target=\"_blank\" title=\"点击查看大图\"><img src=\"\\1\" height=\"100\" border=\"0\"></a>"
);
return preg_replace($ubbcodes['searcharray'],$ubbcodes['replacearray'],$targetstr);
}
$targetstr=str_replace(array("[b]","[/b]","[u]","[/u]","[i]","[/i]"),array("<b>","</b>","<u>","</u>","<i>","</i>"),$SourceStr); //<b><u><i>
$ubbcodes['searcharray'] = array(
"/\[url=(https?|ftp|gopher|news|telnet|mms|rtsp)([^\[]*)\](.+?)\[\/url\]/eis",
"/\[url\]www\.([^\[]*)\[\/url\]/eis",
"/\[url\](https?|ftp|gopher|news|telnet|mms|rtsp)([^\[]*)\[\/url\]/eis",
"/\[email\]\s*([a-z0-9\-_.+]+)@([a-z0-9\-_]+[.][a-z0-9\-_.]+)\s*\[\/email\]/i",
"/\[email=([a-z0-9\-_.+]+)@([a-z0-9\-_]+[.][a-z0-9\-_.]+)\](.+?)\[\/email\]/is",
"/\[img\](.+?)\[\/img\]/is"
);
$ubbcodes['replacearray'] = array(
"cvurl('\\1','\\2','\\3')",
"cvurl('\\1')",
"cvurl('\\1','\\2')",
"<a href=\"mailto:\\1@\\2\">\\1@\\2</a>",
"<a href=\"mailto:\\1@\\2\">\\3</a>",
"<a href=\"\\1\" target=\"_blank\" title=\"点击查看大图\"><img src=\"\\1\" height=\"100\" border=\"0\"></a>"
);
return preg_replace($ubbcodes['searcharray'],$ubbcodes['replacearray'],$targetstr);
}
国家体育场(鸟巢)
本站所用到的Bo-blog插件及自定义模块列表
到现在才0条评论