Tablesorter не очищает пробелы при фильтрации, синтаксическая ошибка PHP?

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

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

Вопрос : Это синтаксическая ошибка 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:

Tablesorter не очищает пробелы при фильтрации, синтаксическая ошибка PHP?

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

Tablesorter не очищает пробелы при фильтрации, синтаксическая ошибка PHP?

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

Tablesorter не очищает пробелы при фильтрации, синтаксическая ошибка PHP?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
30
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Это из-за вашего 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.)

Добавление дополнительной информации: вкладки и новые строки понимаются HTML и отображаются как одно пустое пространство. Встраивание означает удаление вкладок и новых строк между вашими HTML-элементами.

Dharman 28.05.2019 13:24

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

<?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>

Идеальная конкатенация строк, пожалуй, лучший способ!

Ozan Kurt 28.05.2019 13:38

Другие вопросы по теме