繁体   English   中英

PHP4的XML输出不显示HTML

[英]php4 xml output not displaying html

我真的不喜欢我在php方面的经验,但我认为这是一个学习曲线。 有人可以看一下我的代码,让我知道为什么我的某些类没有显示我的html标签吗?

  $g_books = array();
  $g_elem = null;

  function startElement( $parser, $name, $attrs ) 
  {

  global $g_books, $g_elem;
  if ( $name == 'AFFILIATEXML' ) 
  {
    $g_books []= array();
    }
  $g_elem = $name;
  }

  function endElement( $parser, $name ) 
  {
  global $g_elem;
  $g_elem = null;
  }

  function textData( $parser, $text )
  {
  global $g_books, $g_elem;
  if ( $g_elem == 'PRODUCTID' ||
  $g_elem == 'PRODUCTNAME' ||
  $g_elem == 'PRODUCTPRICE' ||
  $g_elem == 'CLASS_DATE'||
  $g_elem == 'LONGDESCRIPTION')
  {
  $g_books[ count( $g_books ) - 1 ][ $g_elem ] = $text;
  }
  }

  $parser = xml_parser_create();

  xml_set_element_handler( $parser, "startElement", "endElement" );
  xml_set_character_data_handler( $parser, "textData" );

  $f = fopen( 'http://webinars.knowledgewave.com/xml/1033499.xml', 'r' );


  while( $data = fread( $f, 4096 ) )
  {
  xml_parse( $parser, $data );
  }

  xml_parser_free( $parser );

//start table code
  foreach( $g_books as $book )
  {
   if ($book['CLASS_DATE'] == 'ON DEMAND')
   {

    $bb = $book['LONGDESCRIPTION'];
        $b = html_entity_decode($bb);

        echo "<tr><td>";
        echo "<table border=0>";
        echo"<tr><td><a id='".$book['PRODUCTID']."link' href='javascript:showDetails(".$book['PRODUCTID'].")'>".$book['PRODUCTNAME']."</a></td></tr>";
        echo "<tr><td id='".$book['PRODUCTID']."' style='font-size: 18px; height: 20px; display: block;'>".$bb."dd</td></tr>";
        echo "</table></td>";
        echo"<td>N/A</td>";
        echo"<td><a href='http://members.logontolearn.com/amember/signup.php'>WATCH NOW</a></td>";
        echo"</tr>";
    }
  }
//end table code;
echo "<tr><td>";
echo "<table border=0>";
echo "<tr><td><a id=\"$book[PRODUCTID].link\" href='javascript:showDetails(\"$book[PRODUCTID]\")'>$book[PRODUCTNAME]</a></td></tr>";
echo "<tr><td id=\"$book[PRODUCTID]\" style=\"font-size: 18px; height: 20px; display: block;\">".$bb."dd</td></tr>";
echo "</table></td>";
echo "<td>N/A</td>";
echo "<td><a href=\"http://members.logontolearn.com/amember/signup.php\">WATCH NOW</a></td>";
echo "</tr>";

试试看

由于这实际上按预期方式输出了标记,因此我只能猜测问题出在您网站的整体HTML中-如果您可以提供URL,我们可能可以弄清楚为什么它没有显示。 如果没有,我建议通过诸如validator.w3.org之类的东西运行HTML输出。 另外,PHP4现已正式弃用一段时间了-尝试查看GoPHP5上的提供程序列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM