Τι κάνει ο παρακάτω Κώδικας ?

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
prokopios
Δημοσιεύσεις: 155
Εγγραφή: 17 Φεβ 2006 15:47

Τι κάνει ο παρακάτω Κώδικας ?

Δημοσίευση από prokopios » 05 Σεπ 2008 14:59

Καταλαβαίνει κανείς τι κάνει ο παρακάτω κώδικας ??? Σύμφωνα με τον τίτλο πρέπει να κάνει
parse σε μια σελίδα.

Κώδικας: Επιλογή όλων

<?php
class Parse &#123;
    var $cssinc = ''; // Embed CSS content
    var $cssext = array&#40;&#41;; // External CSS
    var $cssimport = array&#40;&#41;; // Import CSS
    var $tot = array&#40;&#41;; // Elements, attributes, etc.
    var $pto = array&#40;&#41;;  // Result of each checkpoint
    var $hrefa = array&#40;&#41;; // A href
    var $marcos = array&#40;&#41;; // Frames
    var $res_11_mal = 0;
    var $res_11_duda = 0;
    var $elem_prog = 0;

    function This_Page&#40;$redir="", $meta=""&#41; &#123;
        global $tags, $contents;
        $dep_applet = array&#40;'hspace','vspace','align','archive','code', 'codebase','height','name','object','width'&#41;;
        $dep_basefont = array&#40;'size','color','face'&#41;;
        $dep_body = array&#40;'text','vlink','alink','link','background', 'bgcolor'&#41;;
        // $dep_font = $dep_basefont
        $dep_hr = array&#40;'align','size','width','noshade'&#41;;
        $dep_img = array&#40;'align','border','hspace','vspace'&#41;;
//$dep_object = $dep_img
        $dep_ol = array&#40;'type','start','compact'&#41;;
        $dep_table = array&#40;'align','bgcolor'&#41;;
        $dep_td = array&#40;'height','width','bgcolor','nowrap'&#41;;
        $dep_ul = array&#40;'compact','type'&#41;;
        $pres_applet = array&#40;'hspace','vspace','align','height','width'&#41;;
        $asoc_td = array&#40;'axis','headers','scope'&#41;;
        $atributos = array&#40;'title', 'lang', 'style', 'class', 'accesskey', 'charset', 'tabindex', 'target'&#41;;
        $eventos = array&#40;'onload', 'onfocus', 'onblur', 'onsubmit', 'onreset', 'onselect', 'onchange', 'onunload', 'onclick', 'onmousedown', 'onmouseup', 'onkeypress', 'onkeydown', 'onkeyup', 'ondblclick', 'onmousemove', 'onmouseover', 'onmouseout'&#41;;
        $items_na = array&#40;1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 11, 12, 1301, 1302, 1303, 13, 1401, 1402, 1403, 14, 15, 3202, 51, 52, 54, 55, 56, 61, 6201, 6202, 62, 6301, 6302, 6303, 6304, 63, 64, 6501, 6502, 65, 8101, 8102, 8103, 8104, 81, 91, 9201, 9202, 92, 93, 102, 103, 104, 105, 121, 122, 124, 131&#41;;
        foreach &#40;$items_na as $res&#41; &#123;
            $this->pto&#91;$res&#93; = 'na';
        &#125;

        $items_duda = array&#40;21, 22, 3202, 32, 3401, 34, 36, 37, 41, 42, 94, 111, 113, 114, 123, 132, 133, 134, 135, 136, 137, 138, 139, 1310, 141, 142, 143&#41;;
        foreach &#40;$items_duda as $res&#41; &#123;
            $this->pto&#91;$res&#93; = 'duda';
        &#125;

        if &#40;$redir != ""&#41; &#123; $this->tot&#91;'url_redir'&#93; = $redir; &#125;
        if &#40;$meta != ""&#41; &#123; $this->tot&#91;'meta_redir'&#93; = $meta; &#125;

        foreach &#40;$tags as $key => $tag&#41; &#123;
            preg_match&#40;"@<&#40;&#91;/|\?|!&#93;*&#91;\w&#93;+&#41;@i", $tag, $el&#41;;
            $elem = strtolower&#40;$el&#91;1&#93;&#41;;
            
            if &#40;$tag&#123;1&#125; != '/'&#41; &#123;
                $this->tot&#91;$elem&#93;++;
                $this->tot&#91;'total'&#93;++;
            &#125;
            $this->Sumar_Attr&#40;$tag,$atributos,'attr_'&#41;;
            $this->Sumar_Attr&#40;$tag,$eventos,'event_'&#41;;
            if &#40;preg_match&#40;"@style=&#91;\"\'&#93;?&#40;&#91;^\"\'\/\>&#93;*&#41;@i",$tag,$est&#41;&#41; &#123;
                $cssinc .= ' &#123;'.$est&#91;1&#93;.'&#125;';
                $this->tot&#91;'hay_estilos'&#93; = 1;
            &#125;
            if &#40;&#40;$cierre_a == 1&#41; && &#40;$elem == 'a'&#41;&#41; &#123;
                $this->tot&#91;'a_adya'&#93;++;
            &#125;
            $cierre_a = 0;
            if &#40;&#40;$noframe_vacio == 1&#41; && &#40;$elem != '/noframes'&#41;&#41; &#123;
                $noframe_vacio = 0;
            &#125;

    // TODO&#58; indentation!!
    switch &#40;$elem&#41; &#123;
    case '!doctype'&#58;
        $this->tot&#91;'dtd'&#93; = htmlspecialchars&#40;$tag&#41;;
    break;

    case 'a'&#58;
    preg_match&#40;"@href=&#40;&#91;\"\'&#93;&#41;? &#40;?&#40;1&#41; &#40;.*?&#41;\\1 | &#40;&#91;^\s\>&#93;+&#41;&#41;@ix",$tag,$outurl&#41;;
    $this->hrefa&#91;&#93; = Absolute_URL&#40;URL_BASE,$outurl&#91;2&#93;&#41;;
    if &#40;preg_match&#40;"@^javascript&#58;@i", $outurl&#91;2&#93;&#41;&#41; &#123;
        $this->tot&#91;'href_javascript'&#93;++;
        $this->pto&#91;6301&#93; = 'mal';
    &#125;
    if &#40;count&#40;count_chars&#40;$outurl&#91;2&#93;, 1&#41;&#41; < 2&#41; &#123;
        if &#40;preg_match&#40;"@on&#40;click|keypress|dblclick&#41;@i",$tag&#41;&#41; &#123;
            $this->tot&#91;'href_javascript'&#93;++;
            $this->pto&#91;6301&#93; = 'mal';
        &#125;
    &#125;
    if &#40;preg_match&#40;"@\.&#40;aif|aifc|aiff|au|m3u|mid|mp3|ra|ram|rmi|snd|wav&#41;$@i", $outurl&#91;2&#93;&#41;&#41; &#123;
        $this->tot&#91;'hrefson'&#93;++;
        $this->res_11_duda++;
        $this->pto&#91;1109&#93; = 'duda';
    &#125; else if &#40;preg_match&#40;"@\.&#40;asf|asr|asx|avi|lsf|lsx|mov|movie|mp2|mpa|mpe|mpeg|mpg|mpv2|ppt|qt|swf&#41;$@i", $outurl&#91;2&#93;&#41;&#41; &#123;
        $this->tot&#91;'hrefapp'&#93;++;
        $this->res_11_duda++;
        $this->pto&#91;1110&#93; = 'duda';
        $this->pto&#91;1303&#93; = 'duda';
        $this->pto&#91;1403&#93; = 'duda';
    &#125;
    $this->pto&#91;131&#93; = 'duda';
    break;

    case '/a'&#58;
    $enlace = preg_replace&#40;'@&nbsp;@','',$contents&#91;$key&#93;&#41;;
    if &#40;trim&#40;$enlace&#41; == ''&#41; &#123;
        $cierre_a = 1;
    &#125;
    break;

    &#125; // End switch

        &#125; // End foreach

    $this->Revisar_CSS&#40;&#41;;
    $this->Define_Results&#40;&#41;;
    $this->Finalizar&#40;&#41;;

    &#125; // Fin function This_Page

&#125; // Fin class Parse
?>
Τι είναι αυτά τα $redir και την σελίδα πως την εισάγω στον κώδικα για να γίνει parse.

Αν έχει κανείς κανένα tutorial πως μπορώ να κάνω parse σε μια σελίδα ας ρίξει μια βοήθεια!

Ευχαριστώ πολύ[/img]
ΑΥΤΑ!!!

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες