Heim > php教程 > PHP源码 > 使用PHP切割HTML页面DIV

使用PHP切割HTML页面DIV

PHP中文网
Freigeben: 2016-05-25 17:10:29
Original
1015 Leute haben es durchsucht

跳至

$pre_p){
            $ps[(int)$pre_p[1]] = 'p';
            $ps[(int)$suf_matches[0][$index][1]] = 's';    
        }
        
        //对p进行排序
        $sort = array_keys($ps);
        asort($sort);
        
        $count = count($pre_matches[0]);
        foreach($pre_matches[0] as $index=>$pre_p){
            //<p $hit <p+1    时p被命中
            if(($pre_matches[0][$index][1] < $hit) 
                && ($hit < $pre_matches[0][$index+1][1])){
                $deeper = 0;
                //弹出被命中p前的p
                while(array_shift($sort) != $pre_matches[0][$index][1] 
                    && ($count--)) continue;
                //对剩余p进行匹配,若下一个为前缀,则向下一层,$deeper加1,
                //否则后退一层,$deeper减1,$deeper为0则命中匹配,计算p长度
                foreach($sort as $key){
                    if($ps[$key] == &#39;p&#39;) $deeper++;
                    else if($deeper == 0) {
                        $length = $key-$pre_matches[0][$index][1];
                        break;
                    }else {
                        $deeper--;
                    }
                }
                $hitDivString = substr($data,$pre_matches[0][$index][1],$length).&#39;&#39;;
                break;
            }
        }
        return $hitDivString;
    }
    //考虑到id单双引号符号问题,id="u"由用户自己填写。
    //声明:此段php只针对带 id p内容的读取。
    echo getWebDiv(&#39;id="taglist"&#39;,&#39;http://www.cnblogs.com/Zjmainstay/tag/&#39;);

//End_php
Nach dem Login kopieren

2. [代码]完善:匹配任意闭合带id标签

$pre_p){
            $ps[(int)$pre_p[1]] = &#39;p&#39;;
            $ps[(int)$suf_matches[0][$index][1]] = &#39;s&#39;;    
        }
        
        //对p进行排序
        $sort = array_keys($ps);
        asort($sort);
        
        $count = count($pre_matches[0]);
        foreach($pre_matches[0] as $index=>$pre_p){
            //<p $hit <p+1    时p被命中
            if(($pre_matches[0][$index][1] < $hit) && ($hit < $pre_matches[0][$index+1][1])){
                $deeper = 0;
                //弹出被命中p前的p
                while(array_shift($sort) != $pre_matches[0][$index][1] && ($count--)) continue;
                //对剩余p进行匹配,若下一个为前缀,则向下一层,$deeper加1,
                //否则后退一层,$deeper减1,$deeper为0则命中匹配,计算p长度
                foreach($sort as $key){
                    if($ps[$key] == &#39;p&#39;) $deeper++;
                    else if($deeper == 0) {
                        $length = $key-$pre_matches[0][$index][1];
                        break;
                    }else {
                        $deeper--;
                    }
                }
                $hitDivString = substr($data,$pre_matches[0][$index][1],$length).&#39;&#39;;
                break;
            }
        }
        return $hitDivString;
    }
    
    echo getWebTag(&#39;id="nav"&#39;,&#39;http://mail.163.com/html/mail_intro/&#39;,&#39;ul&#39;);
    echo getWebTag(&#39;id="homeBanners"&#39;,&#39;http://mail.163.com/html/mail_intro/&#39;);
    echo getWebTag(&#39;id="performance"&#39;,&#39;http://mail.163.com/html/mail_intro/&#39;,&#39;section&#39;);

//End_php
Nach dem Login kopieren

           

       

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage