大家應該 " /> 亚洲中文无码亚洲人在线观看- ,伊人久久大香线蕉综合网站,亚洲不卡高清免v无码屋

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP版自動生成文章摘要

自動生成文章摘要[JavaScript 版本]。
我們在寫BLOG這樣的程序時經常需要顯示文章前一部分的,但是又怕不恰當的截斷破壞封閉標簽以造成整
個文檔結構破壞,使用我的函數可以在要求不高的情況下解決這個問題。

大家應該考慮這個函數在服務端應用還是在客戶端應用。因為我考慮這個函數可能運行起來比較費機器,
所以安全性要求不高的情況下可以放在客戶端上。

最好數據表中單獨一個字段放這個摘要,這樣相應的數據庫查詢也優化了。犧牲一點點空間換很多時間還
是劃算的。

再聊一下安全性問題,主要是內容安全性。如果客戶端意圖更改正常的摘要信息的話,一般都是BLOG的主
人才有這個權力,那么他使得摘要和原文的一致性破壞就是他自己的事了。內容以外的安全性都可以在服
務端解決。所以還是推薦在客戶端使用本函數。

核心代碼:
最近應用了一下,發現上面的函數對多字節字符集支持得不好,因此重寫了一下。

如果遇到問題,不妨試試下面的函數。

function Generate_Brief($text){
    global $Briefing_Length;
    mb_regex_encoding("UTF-8");
    if(mb_strlen($text) <= BRIEF_LENGTH ) return $text;    
    $Foremost = mb_substr($text, 0, BRIEF_LENGTH);
    $re = "<(//?)
(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|TABLE|TR|TD|TH|INPUT|SELECT|TEXTAREA|OBJECT|A|UL|OL|LI|
BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT|SPAN)[^>]*(>?)";
    $Single = "/BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT|BR/i";    

    $Stack = array(); $posStack = array();

    mb_ereg_search_init($Foremost, $re, 'i');

    while($pos = mb_ereg_search_pos()){
        $match = mb_ereg_search_getregs();
        /*    [Child-matching Formulation]:

            $matche[1] : A "/" charactor indicating whether current "<...>" Friction is 
Closing Part
            $matche[2] : Element Name.
            $matche[3] : Right > of a "<...>" Friction    
        */
        if($match[1]==""){
            $Elem = $match[2];
            if(mb_eregi($Single, $Elem) && $match[3] !=""){
                continue;
            }
            array_push($Stack, mb_strtoupper($Elem));
            array_push($posStack, $pos[0]);            
        }else{
            $StackTop = $Stack[count($Stack)-1];
            $End = mb_strtoupper($match[2]);
            if(strcasecmp($StackTop,$End)==0){
                array_pop($Stack);
                array_pop($posStack);
                if($match[3] ==""){
                    $Foremost = $Foremost.">";
                }
            }
        }
    }

    $cutpos = array_shift($posStack) - 1;    
    $Foremost =  mb_substr($Foremost,0,$cutpos,"UTF-8");
    return $Foremost;
};歡迎大家找錯誤。謝謝。

php技術PHP版自動生成文章摘要,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产永久免费视频 | 果冻传媒剧情在线观看 | 国产极品白嫩超清在线观看 | CHRISTMAS农村夫妻HO | 野花高清在线观看免费3中文 | 成人毛片大全 | 国产精品你懂的在线播放 | 亚洲国产精品久久又爽黄A片 | 中文在线无码高潮潮喷在线 | 欧美精品AV精品一区视频 | 欧美三级aaa| 亚洲AV无码国产精品色午夜情 | 麻豆AV无码蜜臀AV色哟 | 奶头从情趣内衣下露了出来AV | 大学生第一次破苞疼哭了 | 亚洲精品欧美精品中文字幕 | 97视频视频人人碰视频 | 快穿女主有名器的H纯肉黄暴拉文 | 扒开老师大腿猛进AAA片邪恶 | 99精品热视频30在线热视频 | 最近韩国HD免费观看国语 | 亚洲 欧美 国产 综合五月天 | 乱亲女H秽乱长久久久 | 自拍偷拍2 | 精品无码人妻一区二区免费AV | 久久久久影视 | 国产电影三级午夜a影院 | 最近中文字幕MV免费高清在线 | 日本熟妇多毛XXXXX视频 | 女人一级毛片免费观看 | 高清国产在线观看 | 欧美乱码伦视频免费66网 | 两性色午夜视频免费国产 | 精品人妻伦九区久久AAA片69 | 韩日美无码精品无码 | 国产精品嫩草免费视频 | 日本69色视频在线观看 | 国产不卡视频在线 | 国产白丝精品爽爽久久蜜臀 | 久久高清内射无套 | 久久AV亚洲精品一区无码网 |