我想知道是否有可能将文本分为两部分。
在我的网站上,我有一个产品描述(500-1000个单词),我想以以下方式显示:
<div class="text-col">
<?php echo nl2br($col1); ?>
</div>
<div class="text-col">
<?php echo nl2br($col2); ?>
</div>
像这样的吗?
$len = strlen($input);
$space = strrpos($input," ",-$len/2);
$col1 = substr($input,0,$space);
$col2 = substr($input,$space);
// now output it
column-count
呢?div#multicolumn1 {
-moz-column-count: 3;
-moz-column-gap: 20px;
-webkit-column-count: 3;
-webkit-column-gap: 20px;
column-count: 3;
column-gap: 20px;
}
$text = "my very long text with a lot of words";
$length = strlen($text);
$middle = round($length/2, 0);
$col1 = substr($text, 0, $middle);
$col2 = substr($text, $middle);
但是这些单词经常会在单词中间被截断。因此,您需要更新代码以找到最近的空格:
for ($i = $middle; $i < $length; $i ++) {
if ( substr($text, $i, 1) == " " ) return;
}
$cut = $i;
$col1 = substr($text, 0, $cut);
$col2 = substr($text, $cut+1);
空格并不是一个好的文本截断位置。因此,您需要寻找行尾。有些空格也不好用。例如,分号前面的空格。因此,您需要改进代码以获得更好的结果。
您还可以尝试使用CSS3多列指令: http://www.css3.info/preview/multi-column-layout/ 但它不受IE支持。
这很简单:
$text = "This should be a very long product description with some bold specs in it.";
$splitat = strpos($text," ",strlen($text)/2);
$col1 = substr($text, 0, $splitat);
$col2 = substr($text, $splitat);
strpos
而不是strrpos
。 - Silviu-Marianstrrpos
的长度参数中加入-
。 - Niet the Dark Absol