ホームページ  >  記事  >  php教程  >  使用PHP切割HTML页面DIV

使用PHP切割HTML页面DIV

PHP中文网
PHP中文网オリジナル
2016-05-25 17:10:29999ブラウズ

跳至

$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

           

       

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。