dcsimg
www.webdeveloper.com
Results 1 to 2 of 2

Thread: PHP Link Parsing

  1. #1
    Join Date
    Jun 2009
    Posts
    9

    PHP Link Parsing

    Hey I'm fairly new to PHP and I'm having trouble getting links to parse on this page. For some reason 1 won't display, then other tags will. This feels like it should be a simple fix, or a shove in the right direction would be very useful.

    Here is the script running live

    Main File:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <title><!-- Insert your title here --></title>
    <?php include("php/scripttest.php"); ?>
    </head>
    <body>
    <?php
    for($x=0;$x<count($story_array);$x++){
    echo "\t<ul>";
    echo "\t<li>" . $story_array[$x]->headline . "</li>\n";
    echo "\t<li>" . $story_array[$x]->test . "</li>\n";
    echo "\t<li>" . $story_array[$x]->description . "</li>\n";
    echo "</ul>\n";
    }
    ?>
    </body>
    </html>

    PHP Script:
    <?php

    $xml_file = "xml/portfolio.xml";

    $xml_headline_key = "*PORTFOLIO*PROJECT*TITLE";
    $xml_test_key = "*PORTFOLIO*PROJECT*LINK";
    $xml_description_key = "*PORTFOLIO*PROJECT*DESCRIPTION";

    $story_array = array();

    $counter = 0;

    function startTag($parser, $data){
    global $current_tag;
    $current_tag .= "*$data";
    }

    function endTag($parser, $data){
    global $current_tag;
    $tag_key = strrpos($current_tag, '*');
    $current_tag = substr($current_tag, 0, $tag_key);
    }

    function contents($parser, $data){
    global $current_tag, $xml_headline_key, $xml_test_key, $xml_description_key, $counter, $story_array;
    switch($current_tag){
    case $xml_headline_key:
    $story_array[$counter]->headline = $data;
    break;
    case $xml_test_key:
    $story_array[$counter]->test = $data;
    break;
    case $xml_description_key:
    $story_array[$counter]->description = $data;
    $counter++;
    break;
    }
    }

    $xml_parser = xml_parser_create();

    xml_set_element_handler($xml_parser, "startTag", "endTag");

    xml_set_character_data_handler($xml_parser, "contents");

    $fp = fopen($xml_file, "r") or die("Could not open file");

    $data = fread($fp, filesize($xml_file)) or die("Could not read file");

    if(!(xml_parse($xml_parser, $data, feof($fp)))){
    die("Error on line " . xml_get_current_line_number($xml_parser));
    }

    xml_parser_free($xml_parser);

    fclose($fp);

    ?>

  2. #2
    Join Date
    Jun 2009
    Posts
    9
    Found the answer as soon as I spoke up. The best answer is to follow the simple tutorial at W3CSchools. No parsing problems and a much simpler script. Hopefully this can be of use to someone.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles