2016-11-08 104 views
2

我有点困惑于此,我敢肯定它不是一个问题,因为输入一个字符串到相同的容器不会产生溢出。例如:文本溢出问题

echo '<p class="text"> '. $comment .' This is just random text</p>'; 

$comment将从一行的数据库,完全溢出我的段落标记(这是相对位置仅供参考),但“这只是随机文本”尽快打破的显示数据段落宽度结束。 $comment的数据类型只是phpmyadmin中的文本。

CSS:

.text { 
position: relative; 
left: 10%; 
width: 80%; 
line-height: 1; 
color: #b1bbc3; 
font-size: 0.90em; 
font-family: 'Roboto', sans-serif; 
font-weight: 400; 
} 

这只是一个列表标签内。

任何人都有解决方案吗?进一步检查后,当我检查页面源代码时,我注意到每当使用$comments从数据库获得输出时,即使使用echo(不包含在html标记中),我都可以看到用双引号括起来,这些引号不会显示在页面上,也不会显示在页面上在数据库中。由于我选择了所有评论,所以我不确定双引号来自哪里,或者他们是否导致此问题/我的查询是。

我的查询很简单,只要

$sql = "SELECT comments FROM db WHERE username = '$username'"; 
+0

您可以展示它的外观,显示$ comments-content的例子和周围的HTML吗? – junkfoodjunkie

回答

1

有时文本时不换它是由意外造成的字符代替,其中空格或断字应该是。要测试输出的字符,请使用以下代码并验证内容是否与预期一致。

<pre> 
<?php 
for ($i = 0; $i < strlen($comment); $i++) { 
    echo $i . " " . bin2hex($comment[$i]) . " " . $comment[$i] . "\n"; 
} 
?> 
</pre> 

这将打印出的每个字符垂直字符串中:

0 6f o 
1 6e n 
2 65 e 
3 20 
4 74 t 
5 77 w 
6 6f o 

空间将显示为20,新的生产线为0D其次是0A,或只是0A。

+0

对不起,迟到的回复,问题停止之后,我休息了一段时间后,坚持不知道的原因,这使我偏执,而报价仍然存在。我测试了这个,并返回了类似的结果,但没有显示任何新行。我希望能拿出双引号,我不明白他们来自哪里。 –