多段落

时间:2015-05-17 00:35:14

标签: php html css

我使用php并拥有一个字符串,大约600个字符。我想在屏幕上将文本分成多个相等高度的段落,这样我最终会得到单个字符串中的两个块,例如:

<div class="firstParagraph">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam consectetur venenatis blandit. Praesent vehicula, libero non pretium vulputate, lacus arcu facilisis lectus, sed feugiat tellus nulla eu dolor. Nulla porta bibendum lectus quis
</div>

<div class="secondParagraph">
euismod. Aliquam volutpat ultricies porttitor. Cras risus nisi, accumsan vel cursus ut, sollicitudin vitae dolor. Fusce scelerisque eleifend lectus in bibendum. Suspendisse lacinia egestas felis a volutpat.
</div>

如何处理该文字以实现此目的?我知道php中的标准文本操作符,但它们会分割字符数,而不是结果段落高度(要渲染的行数)。

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:0)

如果您可以使用CSS3,则可以使用列计数选择器。

p {
  -webkit-column-count: 2;
  -mix-column-count: 2;
  column-count: 2;
}

请参阅浏览器支持here

答案 1 :(得分:0)

使用您编写的查询,您将获得一个列和行的表。例如,您有:

$query = "SELECT * FROM about"; // this statement will return all columns.
// if you don't need to do this, don't do it for security reasons, 
// and don't waste processing power.
$result = mysql_query($query) or die(mysql_error()); // runs the query
$row = mysql_fetch_array($result); // it's more specific to use mysql_fetch_assoc($result)
// since you will then be able to use values as follows:
// $content = $row['paragraphInfo'];
// also it is shorthand for what you wrote, which would be better written as:
// $row = mysql_fetch_array($result, MYSQL_ASSOC);
echo $row['content']; // as you've written it, this will only echo something if you 
// have a column named 'content'

如果这是您的目标,要返回“内容”列,并且此列在数据库中为类型VARCHAR,则可以使用各种字符串方法使用PHPs substr() method来中断字符串。

参数是原始字符串,起始位置和结束位置,并返回提取的部分,如果输入没有意义,则返回false /空字符串。因此,如果您想将字符串切成两半,您可以执行以下操作:

$content = $row['content'];
$breakpoint = round($content.length / 2); // half of the string length
$first = substr($content, 0, $breakpoint);
$second = sbustr($content, $breakpoint); // no third param means "to the end of the string"

然后你可以将每个字符串作为段落回显:

echo "<p>" . $first . "</p>";
echo "<p>" . $second . "</p>";

或任何其他元素,就此而言。

我不知道您使用的是哪个版本的PHP,而且我知道有些开发人员会使用古老的服务器或PHP版本,并且没有访问权限或升级权限,但是如果您可以将PHP版本更新为5.5或5.6,它们是最新版本(截至本文撰写时)。从PHP 5.5开始,不推荐使用mysql_方法,您可以更新以更改方法以使用几乎相同的mysqli_方法,但是利用更新版本的MySQL的改进功能(因此'i' - 用于改进)。但是,我强烈建议学习PDO,它代表PHP Data Objects。这是一个与系统无关的类库,无论您使用哪个数据库都可以工作,如果您必须切换数据库系统,则只需更改数据库的一行,以及不同系统的新凭据。此外,它还通过准备好的语句内置了参数绑定和数据库清理等功能。

注意: See round() on php.net

See MySQL Improved Extension

See PDO on php.net

相关问题