Контекст:
Когда я использую 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:
Строка с датой:
Если я фильтрую, результатов не найдено:
Это из-за вашего 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.)
Благодаря Озан Курт я сохранил все в переменной, поэтому код остается читаемым.
<?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>
Идеальная конкатенация строк, пожалуй, лучший способ!
Добавление дополнительной информации: вкладки и новые строки понимаются HTML и отображаются как одно пустое пространство. Встраивание означает удаление вкладок и новых строк между вашими HTML-элементами.