while 语句内的自动换行
Wordwrap inside of while statement
基本上,我有一个 while 语句,我想这样做,如果选择的文本太长,它会每 20 个字符左右添加一个中断。
我已经尝试过了,但是没有用。主要问题是在移动设备上,如果文本超过 20 个字符,它将超出分隔线。
我的整个 While 语句:
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 个字符且没有中断。如果我查看源代码,也没有中断。
编辑:我想 post 在手机上拍一张它的图片,但我现在不能。基本上文本将完全超出方框而不会留在里面。它会离开页面和所有内容。
尝试:
$newtext = wordwrap($text, 20, "<br />\n", true);
无论如何都需要true
来强制断开长字符串。
PHP docs for wordwrap 中有更多详细信息。
或者你可以try chunk_split
基本上,我有一个 while 语句,我想这样做,如果选择的文本太长,它会每 20 个字符左右添加一个中断。
我已经尝试过了,但是没有用。主要问题是在移动设备上,如果文本超过 20 个字符,它将超出分隔线。
我的整个 While 语句:
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 个字符且没有中断。如果我查看源代码,也没有中断。
编辑:我想 post 在手机上拍一张它的图片,但我现在不能。基本上文本将完全超出方框而不会留在里面。它会离开页面和所有内容。
尝试:
$newtext = wordwrap($text, 20, "<br />\n", true);
无论如何都需要true
来强制断开长字符串。
PHP docs for wordwrap 中有更多详细信息。
或者你可以try chunk_split