色逼阁网页,在线看的h网导航,亚洲日韩aⅴ在线视频,小清欢在线全文阅读,AV电影网址免费观看,自拍偷拍影音先锋,多人疯狂派对欧美XXX,强奸福利社,东北女人大叫受不了了

Discuz! 7.0下Wap訪問顯示圖片的研究 -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【m.rusnota.com - 電腦資料】

    http://www.oldjun.com/blog/index.php/archives/46/

    由于管理自己的論壇,對(duì)論壇的一些功能有缺陷的話,會(huì)想辦法進(jìn)行完善,于是有了這篇文章,

Discuz! 7.0下Wap訪問顯示圖片的研究

。玩黑思路很重要,寫程序思路一樣很重要。由于網(wǎng)上對(duì)相關(guān)Discuz論壇wap顯示圖片的技術(shù)文章非常少,而官方遲遲不更新wap版本,所以只能靠自己了。

    官方論壇搜了很久,也查看了別人對(duì)于5.5版本與6.0版本的處理方法,經(jīng)過修改,我得到了相應(yīng)的Discuz!7.0下wap顯示圖片的方法,利用wapcode這個(gè)函數(shù)做一些字符串替換,具體代碼如下(修改global.func.php中的wapcode函數(shù)即可):

    function wapcode($string) {

    global $lang;

    $string = str_replace(array('[attach]', '[/attach]'), array(''), $string);

    $string = str_replace(array(''), array(''), $string);

    $string = preg_replace("/\[url=(http:\/\/.*?)\](.*?)\[\/url\]/is", "\\2", $string);

    $string = preg_replace("/\[url\](.*?)\[\/url\]/is", "\\1", $string);

    $string = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string);

    $string = str_replace(array(''), array('

    '), $string);

    $string = str_replace(array('',''), array('', ''), $string);

    $string = preg_replace("/\[hide\](.+?)\[\/hide\]/is", $lang['post_hide_reply_hidden'], $string);

    $string = preg_replace("/\[hide=(\d+)\]\s*(.+?)\s*\[\/hide\]/ies", $lang['post_hide_reply_hidden'], $string);

    for($i = 0; $i < 1; $i++) {

    $string = preg_replace("/\[(\w+)[^\]]*?\](.*?)\[\/\\1\]/is", "\\2", $string);

    }

    return $string;

    }

    測(cè)試了下,蠻成功的,圖片能正常顯示。一個(gè)兩個(gè)圖片也沒有發(fā)現(xiàn)異常,不過圖片多的時(shí)候突然手機(jī)里報(bào)錯(cuò)了,仔細(xì)看了下代碼才發(fā)現(xiàn):這個(gè)方法只改了wapcode($string)函數(shù),但沒有對(duì)wapcutstr($string, &$length)方法做相應(yīng)調(diào)整,所以在前后翻頁的時(shí)候可能會(huì)遇到因img標(biāo)簽被截?cái)喽鴮?dǎo)致頁面無法正常顯示,這樣的話不僅是img標(biāo)簽了,如果不處理wapcutstr想用html標(biāo)簽都沒可能性,因?yàn)樽址財(cái)嗟臅r(shí)候不管是不是標(biāo)簽都當(dāng)成字符串處理,于是我想改wapcutstr這個(gè)函數(shù),網(wǎng)上也找到了相應(yīng)的修改版,但我沒繼續(xù)跟下去,因?yàn)楹髞戆l(fā)現(xiàn)圖文并茂的時(shí)候在手機(jī)里看起來不爽,于是我有了第二種顯示圖片的思路,

電腦資料

Discuz! 7.0下Wap訪問顯示圖片的研究》(http://m.rusnota.com)。

    帖子里的圖片無非兩種:一是遠(yuǎn)程圖片,用[img][/img]調(diào)用;而是本地圖片,一般情況下可以直接從數(shù)據(jù)庫中讀取。既然這樣,何必那么麻煩的替換字符串,直接把所有圖片都顯示出來放在帖子的第一頁不就可以了。實(shí)現(xiàn)代碼(將如下代碼添加至thread.inc.php中的$post['author'] = !$post['anonymous'] ? $post['author'] : $lang['anonymous'];前面):

    if(!$offset || $offset==-1){

    if (preg_match_all("/\[img(.*?)\](.*?)\[\/img\]/is",$strpost,$imgout,PREG_PATTERN_ORDER)) {

    $imgnum=count($imgout[2]);

    $img="";

    for ($i=0;$i<$imgnum;$i++){

    if($imgout[1][$i] && strpos($imgout[1][$i],",")){

    $imgwidth=explode(",",str_replace("=","",$imgout[1][$i]));

    $newwidth=$imgwidth[0]>100?100:$imgwidth[0];

    }else{

    $newwidth=100;

    }

    $img.='

    ';

    }

    $threadposts .= $img;

    }

    if($post['attachment']) {

    $attquery = $db->query("SELECT * FROM {$tablepre}attachments WHERE pid='$post[pid]'");

    while($attach = $db->fetch_array($attquery)) {

    if($attach['isimage']) {

    $attachimg.='

    ';

    }

    }

    $threadposts .= $attachimg;

    }

    }

    至此,完美解決圖片的基本顯示問題,至于圖片大小縮略圖那種問題,沒有繼續(xù)深究;另外閱讀權(quán)限問題,也沒有考慮(想考慮的話稍微改點(diǎn)代碼就可以了)

最新文章