• discuz脚本发表帖子


    $db = mysql_connect("", "", "") or die("not connected");
    mysql_query("set NAMES utf8", $db);
    $clientip = $_SERVER["REMOTE_ADDR"];
    $time = time();
    $subject = "还在为大大的毛孔烦恼?";
    $message = <<<EOF
    还在为油光光的皮肤懊恼?
    还在为这些美丽路上的“绊脚石”忧愁?
    现在,就是扫除那些美丽困扰的时刻了
    快快参与媲美的新一轮微博活动
    让毛孔藏起来,美丽心情走起来
    
    【活动时间】
    
    2012.12.11-2012.12.27  a.m12:00     
    
    
    【评奖规则】
    
    本次活动同一账号发帖次数不限
    2012年12月27号活动结束后
    随机抽取5位网友获得 贝德玛净妍毛孔修护乳
    
    
    【奖品特点】
    
    贝德玛净妍毛孔修护乳
    
    皮脂调节净化专利,有助于保持毛孔畅通,使用后皮肤不再油光;
    具有收缩毛孔的功效,减少皮脂的生成;
    甘露醇与银杏叶提取物 保护皮肤受到自由基的侵害,让皮肤恢复自然光泽。
    EOF;
    
    $tid = to_bbs($subject, $message);
    echo "<a href='http://www.aa.com/bbs/thread-$tid-1-1.html' target='_blank'>http://www.aa.com/bbs/thread-$tid-1-1.html</a>";
    
    
    
    
    
    function to_bbs($subject, $message) {
    global $db;
    global $clientip;
    global $time;
    mysql_select_db('aa', $db) or die('数据库连接失败,请检查数据库名');
    $fid = 11; //板块id
    $author = '11'; //用户名
    $authorid = '111'; //用户uid    
    $res = mysql_query("SELECT `modnewposts` FROM `pre_forum_forum` WHERE fid='$fid'", $db); //论坛板块设置,是否审核主题贴
    $modnewthreads = mysql_result($res, 0); //是否审核主题贴
    $displayorder = $modnewthreads ? -2 : 0;
    $pinvisible = $modnewthreads ? -2 : 0;
    $message = portal_threadcode($message); //将html标签转成规范的discuz标签
    
    /** 插入主题表 * */
    $sql = "INSERT INTO pre_forum_thread (`fid`, `posttableid`, `readperm`, `price`, `typeid`, `sortid`, `author`, `authorid`, `subject`, `dateline`, `lastpost`, `lastposter`, `displayorder`, `digest`, `special`, `attachment`, `moderated`, `status`, `isgroup`, `replycredit`, `closed`, `allowinvitation`)
    VALUES ('$fid', '0', '0', '0', '0', '0', '$author', '$authorid', '$subject','$time' , '$time', '$author', $displayorder, '0', '0', '0', '0', '32', '0', '0', '0', '0')";
    mysql_query($sql, $db);
    
    /** 返回的帖子ID * */
    $tid = mysql_insert_id();
    
    /** 插入帖子表 * */
    $sql = "INSERT INTO pre_forum_post_tableid (`pid` )VALUES ('null')";
    mysql_query($sql, $db);
    $pid = mysql_insert_id();
    $sql = "INSERT INTO pre_forum_post (`pid`, `fid`, `tid`, `first`, `author`, `authorid`, `subject`, `dateline`, `message`, `useip`, `invisible`, `anonymous`, `usesig`, `htmlon`, `bbcodeoff`, `smileyoff`, `parseurloff`, `attachment`, `tags`, `replycredit`, `status`)
    VALUES ('$pid', '$fid' , '$tid', '1', '$author', '$authorid', '$subject', '$time', '$message' , '$clientip', '$pinvisible', '0', '1', '0', '0', '-1', '0', '0', '', '0', '0')";
    mysql_query($sql, $db);
    
    if ($modnewthreads) {
    /** 增加到审核库 * */
    $sql = "REPLACE INTO `pre_common_moderate` set `id`='$tid',`idtype`='tid',`status`='0',`dateline`='$time'";
    mysql_query($sql, $db);
    /** 更新版块信息 * */
    $sql = "UPDATE `pre_forum_forum` SET `todayposts`=`todayposts`+1 WHERE `fid`='$fid'";
    mysql_query($sql, $db);
    } else {
    /** 更新版块信息 * */
    $subject = str_replace("\t", ' ', $subject);
    $lastpost = "$tid\t$subject\t$time\t$author";
    $sql = "UPDATE `pre_forum_forum` SET `lastpost`='$lastpost', `threads`=`threads`+1, `posts`=`posts`+1, `todayposts`=`todayposts`+1 WHERE `fid`='$fid'";
    mysql_query($sql, $db);
    }
    return $tid;
    }
    
    /*
     * html标签 转换为discuzcode
     */
    
    function portal_threadcode($message) {
    
    $msglower = strtolower($message);
    $message = str_replace(
    array(
    '</font>', '</p>', '<b>', '</b>', '<strike>', '</strike>', '<hr class="l" />', '<i class="pstatus">', '<i>',
     '</i>', '<u>', '</u>', '<ul>', '<ul type="1" class="litype_1">', '<ul type="a" class="litype_2">',
     '<ul type="A" class="litype_3">', '<li>', '</li>', '</ul>', '<blockquote>', '</blockquote>', '</span>', '<p>', '</div>', '<div>', '&nbsp;', '&amp;', '&lt;', '&gt;', '&quot;', '&#039', '<BR>', '<br>', '</P>', '<P>',
     ), array(
    '[/font]', '[/align]', '[b]', '[/b]', '[s]', '[/s]', '[hr]',
     '[i=s]', '[i]', '[/i]', '[u]', '[/u]', '[list]', '[list=1]', '[list=a]',
     '[list=A]', "\r\n[*]", '[*]', '[/list]', '[indent]', '[/indent]', '[/float]', '[/align]', ' ', ' ', ' ', '&', '<', '>', '"', "'", "\n", "\n", '[/align]', '[/align]',
     ), preg_replace(
    array(
    "/<font\s+color=\"([#\w]+?)\">/i",
     "/<font\s+style=\"color:(rgb\([\d\s,]+?\))\">/i",
     "/<font\s+style=\"background-color:([#\w]+?)\">/i",
     "/<font\s+style=\"background-color:(rgb\([\d\s,]+?\))\">/i",
     "/<font\s+size=\"(\d{1,2}?)\">/i",
     "/<font\s+style=\"font-size:(\d{1,2}(\.\d{1,2}+)?(px|pt)+?)\">/i",
     "/<font\s+face=\"([^\[\<]+?)\">/i",
     "/<p\s+align=\"(left|center|right)\">/i",
     "/<div\s+align=\"(left|center|right)\">/i",
     "/<p\s+style=\"line-height:(\d{1,2}|null)px;text-indent:(\d{1,2}|null)em;text-align:(left|center|right)\">/i",
     "/<span\s+style=\"float:left;margin-right:5px\">/i",
     "/<span\s+style=\"float:right;margin-left:5px\">/i",
     "/###NextPage###/i",
     "/###NextPage\[title\=([\w\W]+?)\]###/i",
     "/<p\s+style=\"text-align:\s+(left|center|right);\">/i",
     "/<p\s+align=(left|center|right)>/i",
     '/<script\s+type=\"text\/javascript\"(.*?)<\/script>/i',
     ), array(
    "[color=\\1]",
     "[color=\\1]",
     "[backcolor=\\1]",
     "[backcolor=\\1]",
     "[size=\\1]",
     "[size=\\1]",
     "[font=\\1]",
     "[align=\\1]",
     "[align=\\1]",
     "[p=\\1, \\2, \\3]",
     "[float=left]",
     "[float=right]",
     "\n",
     "[align=left][b]\\1[/b][/align]",
     "[align=\\1]",
     "[align=\\1]",
     "",
     ), $message
    )
    );
    
    /* img标签 */
    preg_match_all('/<a(.*?)>(.*?)<(img|IMG)(.*?)src=\"(.*?)\"(.*?)>(.*?)<\/a>/ix', $message, $match);
    
    if ($match[0]) {
    $match[5] = is_array($match[5]) ? $match[5] : array($match[5]);
    $match[0] = is_array($match[0]) ? $match[0] : array($match[0]);
    $match[5] = array_map('reimg', $match[5]);
    
    $message = str_replace($match[0], $match[5], $message);
    
    $match = array();
    }
    
    preg_match_all('/<(img|IMG)(.*?)src=\"(.*?)\"(.*?)>/isx', $message, $match);
    if ($match[0]) {
    $match[3] = is_array($match[3]) ? $match[3] : array($match[3]);
    $match[0] = is_array($match[0]) ? $match[0] : array($match[0]);
    $match[3] = array_map('reimg', $match[3]);
    $message = str_replace($match[0], $match[3], $message);
    $match = array();
    }
    
    /* 链接 */
    $message = preg_replace(
    array("/<a\s+href=\"(.*?)\"(.*?)>(.*?)<\/a>/i"), array("[url=\\1]\\3[/url]"), $message
    );
    /* 音频视频 */
    if (strpos($msglower, "[/flash]") != false) {
    preg_match_all('/\[flash=(.*?)\](.*?)\[\/flash\]/isx', $message, $match);
    $match[0] = is_array($match[0]) ? $match[0] : array($match[0]);
    $match[1] = is_array($match[1]) ? $match[1] : array($match[1]);
    $match[2] = is_array($match[2]) ? $match[2] : array($match[2]);
    $revideo = array();
    foreach ($match[0] as $key => $value) {
    $revideo[$key] = portalpvideo($match[1][$key], $match[2][$key]);
    }
    $message = str_replace($match[0], $revideo, $message);
    //$message = preg_replace('/\[flash=(.*?)\](.*?)\[\/flash\]/isx',"portalpvideo('\\1','\\2')",$message);
    }
    /* 解析源码视频 */
    if (strpos($msglower, "</object>") != false) {
    preg_match_all('/<object(.*?)width=\"(\d+)\"\s+height=\"(\d+)\">([\w\W]*?)src=\"(.*?)\"([\w\W]*?)<\/object>/isx', $message, $match);
    $match[0] = is_array($match[0]) ? $match[0] : array($match[0]);
    $match[2] = is_array($match[2]) ? $match[2] : array($match[2]);
    $match[3] = is_array($match[3]) ? $match[3] : array($match[3]);
    $match[5] = is_array($match[5]) ? $match[5] : array($match[5]);
    $revideo = array();
    foreach ($match[0] as $key => $value) {
    $revideo[$key] = portalpvideo2($match[2][$key], $match[3][$key], $match[5][$key]);
    }
    $message = str_replace($match[0], $revideo, $message);
    }
    $message = strip_tags($message);
    
    return $message;
    }
    
    /*
     * 更改img标签
     */
    
    function reimg($img) {
    return "[img]" . $img . "[/img]";
    }
    
    /*
     * 解析文章中的视频为discuzcode
     */
    
    function portalpvideo($param, $url) {
    
    if (strtolower($param) == 'media' or strtolower($param) == 'real') {
    $ext = substr(strrchr($url, '.'), 1);
    return "[media=" . $ext . ",500,375]" . $url . "[/media]";
    } elseif (strtolower($param) == 'mp3') {
    return "[audio]" . $url . "[/audio]";
    } else {
    return "[url]" . $url . "[/url]";
    }
    }
    
    /*
     * 解析源码视频
     */
    
    function portalpvideo2($width, $height, $url) {
    $ext = substr(strrchr($url, '.'), 1);
    return "[media=" . $ext . "," . $width . "," . $height . "]" . $url . "[/media]";
    }
  • 相关阅读:
    win10--安装python3.7.0和selenium
    mac下Jmeter的安装与环境变量配置
    Mac--PyCharm社区版配置git
    fiddler之简单的接口性能测试
    性能测试服务器瓶颈定位思路
    JMeter性能测试入门-不同类型线程组的使用
    jmeter连接数据库
    性能测试常见问题
    jmeter模拟spike尖峰测
    jmeter逻辑控制器详解(2)
  • 原文地址:https://www.cnblogs.com/bandbandme/p/3024174.html
Copyright © 2020-2023  润新知