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

使用PHP切割HTML页面DIV

PHP中文网
PHP中文网Original
2016-05-25 17:10:291014Durchsuche

跳至

$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

                       

           

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

           

       

Stellungnahme:
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