基本上,我有一个while语句,我想这样做,如果选择的文本太长,它将每20个字符左右添加一个中断。
我做了一个尝试,但它没有工作。这个问题的主要问题是在移动设备上,如果文本超过20个字符,它将在分隔符之外。
我的整个声明:
while ($field = $result->fetch_assoc()) {
if ($columnCount < 10) {
$text = $field["text"];
$newtext = wordwrap($text, 20, "<br />\n");
echo '
<div class="well">
<div class="row">
<div class="col-xs-10">
'.$newtext.'<br /><br /><a class="link" href="view.php?id='.$field["id"].'"><b>'.$field["name"].'</b> - '.time_elapsed_string($field["timestamp"]).'</a>
</div>
<div class="col-xs-2 text-center counter">
<form action="like.php?id='.$field["id"].'" method="POST" style="margin-bottom:0px;margin-top:-8%;">
<button class="btn btn-primary btn-sm" type="submit" name="submit" id="submit">▲</button><br />
<input type="hidden" name="id" value="'.$field["id"].'">
</form>
<div class="well well2 text-center" style="padding:0px;margin-bottom:0px;width:100% !important;">
'.$field["likes"].'
</div>
<form action="dislike.php?id='.$field["id"].'" method="POST">
<button class="btn btn-primary btn-sm" type="submit" name="submit" id="submit">▼</button><br />
<input type="hidden" name="id" value="'.$field["id"].'">
</form>
</div>
</div>
</div>';
$columnCount++;
}
}
我做了一个尝试,但不确定如何让它完全正常工作。这里没有错误,它会出现在文本中,但在20个字符左右之后就不会出现任何中断。
以下是其中一个结果显示超过20个字符且没有中断的图像。如果我查看源代码,也没有中断。
编辑:我会在手机上发布它的图片,但我现在不能。基本上,文本将完全在框外,并且不会留在里面。它将离开页面和一切。
答案 0 :(得分:1)
尝试:
$newtext = wordwrap($text, 20, "<br />\n", true);
无论如何都需要true
强制打破长字符串。
或者你可以try chunk_split