php - 匹配表格中 2 个不同列中的文本?

标签 php html css html-table

我最近一直在研究一个 Pastebin 脚本(为了好玩),我遇到了一个我似乎无法在 CSS 中解决的问题。我有一个包含 2 列的表。第一列用于显示行号,第二列用于显示代码。我似乎无法让数字与代码中的行匹配,所以它看起来很奇怪(例如:http://www.zamnproductions.com/paste.php?id=32)。看看我的代码(片段):

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <style type="text/css">
      td.num {
       vertical-align: top;
      }
      td.numbers {
       display:table-cell;
       padding:1px;
       vertical-align: top;
       line-height:25px;
      }
      td.code {
       display:table-cell;
       vertical-align: top;
       line-height:20px;
      }
      #hide {
       display:none;
      }
      #leftcontent {
       position: absolute;
       left:10px;
       top:119px;
       width:200px;
       background:#fff;
       border:0px solid #000;
      }
      #centercontent {
       background:#fff;
       margin-left: 199px;
       margin-right:199px;
       border:0px solid #000;
       voice-family: "\"}\"";
       voice-family: inherit;
       margin-left: 201px;
       margin-right:201px;
       }
      html>body #centercontent {
      margin-left: 202px;
      margin-right:201px;
      }
    </style>

这是制作表格的部分:

<?php 
if (isset($_GET['id'])) {
 $paste = new Paste();?>
 <table border="1">
 <tr>
 <td class="num"><font size="2"><?php $paste->listNumbers($_GET['id']); ?></font></td>
 <td class="code"><?php $paste->viewCode($_GET['id']); ?></td>
 </tr>
 </table>
<?php }?>

最佳答案

您生成的表结构已关闭。

这是您的脚本输出的内容。

<table border="1">
    <tr>
        <td class="num">
            <font size="2">
            <table border="0">
                <tr>
                    <td class="numbers">1.</td>
                </tr>
                <tr>
                    <td class="numbers">2.</td>
                </tr>
                [...]
            </table>
            </font>
        </td>
        <td class="code">
            <pre><b>for</b> (<b>int</b> i = 5; i == 5; i++) 
            {
            System.out.pr<b>int</b>ln(&quot;LOLOL&quot;);
            }</pre><br/>
        </td>
    </tr>
</table>

什么时候应该输出更像:

<table border="1">
    <tr>
        <td class="num">1.</td>
        <td class="code">
            <pre><b>for</b> (<b>int</b> i = 5; i == 5; i++)</pre>
        </td>
    </tr>
    <tr>
        <td class="num">2.</td>
        <td class="code">
            <pre>{</pre>
        </td>
    </tr>
</table>

您希望每个表行都包含两列,一列是数字,一列是代码。您的脚本将所有数字放入一列。您应该将代码分成几行,然后通过 listNumbers 进行 foreach。

关于php - 匹配表格中 2 个不同列中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2480843/

相关文章:

javascript - 鼠标悬停时 Dropbox 菜单没有关闭?

php - 如何在 Yii2 中使用自定义 css 文件布局模块

html - 我有一个代码,我需要将 "a"标签更改为 "li"。当我这样做时,CSS 动画停止工作

php - 简单的 PHP Person 类建模

javascript - 是否可以使用 Javascript 打开 Sqlite 数据库而不使用 HTML5?

PHP fopen、fwrite 和 fclose 继续没有错误,但没有创建文件

java - 如何在 Eclipse 中制作一个 jar,其中包含启动 jar 时需要运行的 HTML 文件?

html - 菜单在移动浏览器桌面站点 View 中不可见

php - 我如何使用 PHP 获取当前月份和前三个月

php - ZF2 Breadcrumbs Helper - 如何将其呈现为无序列表?