Tablesorter 过滤时不清理空格,PHP 语法错误?
Tablesorter does not sanitize spaces when filtering, PHP syntax error?
上下文:
当我在 HTML 中使用 PHP echo <?= &var ?>
时,它会在我的 HTML 元素中导致白色 space。
我已经尝试用另一个 IDE 修改文件以确保这不是缩进问题,但我得到了相同的结果。 Chrome 或 Firefox 上的结果相同...
问题:
插件 tablesorter 的过滤器也过滤了白色 spaces 并且没有 return 我预期的结果。 如果我手动删除 spaces
就可以了
问题:
这是 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
变量也会有空格。 (不知道你的 tablesorter 是否完全忽略了 html。)
感谢 Ozan Kurt,我已将所有内容存储在一个变量中,因此代码仍然可读。
<?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 中使用 PHP echo <?= &var ?>
时,它会在我的 HTML 元素中导致白色 space。
我已经尝试用另一个 IDE 修改文件以确保这不是缩进问题,但我得到了相同的结果。 Chrome 或 Firefox 上的结果相同...
问题: 插件 tablesorter 的过滤器也过滤了白色 spaces 并且没有 return 我预期的结果。 如果我手动删除 spaces
就可以了问题: 这是 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
变量也会有空格。 (不知道你的 tablesorter 是否完全忽略了 html。)
感谢 Ozan Kurt,我已将所有内容存储在一个变量中,因此代码仍然可读。
<?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>