【问题标题】:php4 xml output not displaying htmlphp4 xml输出不显示html
【发布时间】:2009-10-29 07:02:36
【问题描述】:

我真的不喜欢我在 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;

【问题讨论】:

  • 如果你可以将代码格式化为每行4个空格形成一个块,它有点晚了,眼睛越来越弱了:)
  • HTML标签在哪部分代码打印不正确?
  • 哇,这是一个混乱的问题....
  • 是的!不是最好的编辑器。在 foreach 循环中,遵循“LONGDESCRIPTION”。这包含不显示在网页上的 html。

标签: php html xml


【解决方案1】:
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>";

试试看

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-26
      • 2010-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多