PHP substr打破了我的表

时间:2014-06-20 15:13:54

标签: php substr

我有一张像这样的桌子

echo '<table>';
echo '<tr>';

                echo '<td>' . $value['title'] . '</td>';

                echo '<td>' . $value['date'] . '</td>';

                echo '<td>' . $value['preview'] . '</td>';

                echo '<td>' . substr($value['description'], 0, 10) . '</td>';

                echo '<td><img src="../images/articles/' . $value['image'] . '"></td>';

                echo '<td><img src="../images/articles/' . $value['detailImage'] . '"></td>';

                        if($value['showDetailImage'] == 1){
                                $showDetailImage = 'Yes';
                        }else{
                                $showDetailImage = 'No';
                        }

                echo '<td>' . $showDetailImage . '</td>';

                echo '<td><a class="btn btn-default" href="Press.php?action=edit&id=' . $value['id'] . '">Edit</a></td>';
                echo '<td><a onclick="if(!confirm(\'Are you sure you want to delete this item?\')) return false;" class="btn btn-default" href="Press.php?action=delete&id=' . $value['id'] . '">Delete</a></td>';

                echo '</tr>';
                echo '</table>';

注意我有substr,当我在那里时,它没有显示描述并打破了我的表的其余部分,如果我删除了子表,表格很好并且显示了所有内容。为什么substr打破我的桌子。

2 个答案:

答案 0 :(得分:1)

这是因为你的substr在一些HTML元素中间连接了吗?

例如,您应该使用:

echo htmlentities(substr($value['description'], 0, 10));

或者如果要删除HTML标记:

echo strip_tags(substr($value['description'], 0, 10));

答案 1 :(得分:1)

可能包含HTML标记的描述内容会破坏表格,使用htmlspecialchars ...

echo '<td>' . htmlspecialchars(substr($value['description'], 0, 10)) . '</td>';