Tablesorter не очищает пробелы при фильтрации, ошибка синтаксиса PHP? - PullRequest
0 голосов
/ 28 мая 2019

Контекст: Когда я использую PHP-эхо <?= &var ?> в HTML, это вызывает пробелы в моем HTML-элементе. Я уже пытался изменить файл с помощью другой среды IDE, чтобы убедиться, что это не проблема отступов, но у меня тот же результат. Тот же результат на Chrome или Firefox ...

Проблема: Фильтр плагина tablesorter также фильтрует пробелы, и это не возвращает мне ожидаемый результат. Это работает, если я вручную удаляю пробелы

Вопрос: Это ошибка синтаксиса PHP или что-то еще?


Мой код PHP:

<td class="hidden-sm hidden-xs date">
    <?php if ($approval['STACODEM'] == '200'):?>
    <span data-toggle="popover" data-placement="top" data-trigger="hover focus" data-container="body" data-content="<?= $imgDuesDaysPopover ?>">
        <img src="<?= $imgDueDays ?>" alt="" name="imgDueDays"/>
    </span>
    <?php endif ?>
    <?= $dueDate ?>
</td>

В программе просмотра Chrome:

enter image description here

Строка с датой:

enter image description here

Если я фильтрую, результатов не найдено:

enter image description here

Ответы [ 2 ]

3 голосов
/ 28 мая 2019

Это из-за вашего HTML-макета. Вы можете встроить свой код для решения этой проблемы.

<td class="hidden-sm hidden-xs date">Everything in here</td>

Или вы можете настроить порядок сортировки таблиц в табличном сортировщике.

Самое простое встраивание было бы, если присвоить результат вашего предложения if переменной.

<?php 
$img = '';
if ($approval['STACODEM'] == '200') {
    $img = <<<IMG 
    <span data-toggle="popover" data-placement="top" data-trigger="hover focus" data-container="body" data-content="{$imgDuesDaysPopover}">
        <img src="{$imgDueDays}" alt="" name="imgDueDays"/>
    </span>
IMG;
}
?>
<td class="hidden-sm hidden-xs date"><?= $img.$dueDate ?></td>

PS: но будьте осторожны, ваша переменная $img также будет содержать пробелы, если вы не включите ее. (Не знаю, полностью ли ваш табличный сортировщик игнорирует html.)

1 голос
/ 28 мая 2019

Благодаря Озану Курту я сохранил все в переменной, поэтому код остается читаемым.

<?php
    $html = '';
    if ($approval['STACODEM'] == '200') {
        $html .= '<span data-toggle="popover" data-placement="top" data-trigger="hover focus" data-container="body" data-content="' . $imgDuesDaysPopover . '">';
        $html .= '<img src="' . $imgDueDays . '" alt="" name="imgDueDays"/>';
        $html .= '</span>';
    }
    $html .= $dueDate;
?>
<td class="hidden-sm hidden-xs date"><?=$html?></td>
...