Wordpress не отображает таблицы правильно? - PullRequest
1 голос
/ 22 августа 2011

Я использую шаблон поста из Wordpress для создания таблицы.Однако форматирование немного испорчено.

PHP, который генерирует код, входит и запрашивает у сервера тестовую информацию пользователя за день.Затем он обрезает этот внутренний отчет, чтобы получить только таблицу.Обратите внимание, что отчет не закрывает тег </tbody>, поэтому мне пришлось использовать str_replace для закрытия этого тега.

global $current_user;

get_currentuserinfo();

$raw_contents = file_get_contents('http://******/NamedRptRun.asp?Rpt=DailyUserSum&Prj=******_****UserId='.($current_user->user_login));

    $trim_raw = trim($raw_contents);
//echo htmlentities($trim_raw);

if ($trim_raw == 'No Records Returned')  {

    echo 'No test cases to report today.';

} else {

    $tag = '<TABLE';

    $topTrim_contents = stristr($raw_contents, $tag);

    $tag = '</BODY>';

    $table_only = stristr($topTrim_contents, $tag, TRUE);

    $table_only = str_replace("</tr></table>", "</tbody></tr></table>",$table_only);

   echo htmlentities($table_only);
   echo str_replace(array("\r\n","\n","\t"), ' ',$table_only);

}

Это дает мне оба кода для таблицы (только для целей отладки)а также какой должен быть стол.Однако значения таблицы на самом деле не находятся внутри таблицы, а отображаются в строке над таблицей.

<TABLE cellspacing=0 cellpadding=0 border=1 bordercolor=Silver>
<thead class=b>
<TR bgColor=WHITE>
<th>&nbsp;Engineer&nbsp;</th><th>&nbsp;Passed&nbsp;</th><th>&nbsp;PWWarn&nbsp;</th><th>&nbsp;Blocked&nbsp;</th><th>&nbsp;Failed&nbsp;</th><th>&nbsp;Total Run&nbsp;</th></tr></thead><tbody class=h><TR bgColor=#F1F1F1><TD nowrap>myname</td><TD nowrap>1</td><TD nowrap>0</td><TD nowrap>0</td><TD >0</td><TD nowrap>1</td></tbody></tr></table>

10001
 Engineer    Passed      PWWarn      Blocked     Failed      Total Run 
myname

У кого-нибудь есть предложения относительно причин, по которым это может произойти?

Pasting View-Page Source финальной таблицы, которая была сгенерирована.

<table border="1" cellspacing="0" cellpadding="0">
    <thead class="b">
        <tr bgcolor="WHITE">
            <th> Engineer</th>
            <th> Passed</th>
            <th> PWWarn</th>
            <th> Blocked</th>
            <th> Failed</th>
            <th> Total Run</th>
        </tr>
    </thead>
    <tbody class="h">
        <tr bgcolor="#F1F1F1">
            <td nowrap="nowrap">myname</td>
        </tr>
    </tbody>
</table>

1 Ответ

0 голосов
/ 31 августа 2011

Решение было найдено после обращения к автору SimplePostTemplate.Похоже, что WordPress отфильтровывает плохой HTML, что именно так и было сделано с моей таблицей, и, следовательно, почему он не отображается должным образом.

Я смог попросить другой отдел очистить их HTMLпрежде чем он попал в WordPress, и, таким образом, пройдя фильтры и решив проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...