将可变内容拆分为多个段落

时间:2011-05-14 08:47:44

标签: php

嘿那里, 我有这个小PHP代码:

<p class="category_text"><? echo $category_text; ?></p>

我想拆分$ category_text并得到类似的东西:

这是category_text

的第1句

这是category_text

的第2句

依旧......

$ category_text有大约300个单词,可以说6个句子。我怎么能在多个段落中分割文本(由停止唱歌“。”分隔)。

非常感谢!

4 个答案:

答案 0 :(得分:2)

echo  '<p class="category_text">' 
      . implode('</p><p class="category_text">', explode('.',$string))
      .'</p>';

答案 1 :(得分:1)

你可以直接替换“。”标签“
”:

<p class="category_text"><? echo str_replace('.', '.<br />', $category_text); ?></p>

这不是一个完美的解决方案!但是,如果你的文字很简单,那么这个小技巧就可以了。

例如,如果您有一个包含3个点的行:

$category_text = "Ok...";

它将会显示出来:

OK.
.
.

如果你的句子以“?”结束要么 ”!”你也可以使用它:

<p class="category_text"><? echo str_replace(array('.', '!', '?'), array('.<br />', '!<br />', '?<br />'), $category_text); ?></p>

PS:我的解决方案将创建一个段落“

”,但有多个换行符

答案 2 :(得分:0)

尝试创建一个数组,然后逐个输出这些行。以...结尾的句子仍将被识别为“。”。

$sentences = explode('. ', $category_text)

foreach($sentences as $val)
{
    echo $val . ".<br /><br />";
}

答案 3 :(得分:0)

您希望将文本拆分为句子,这并非易事 - 使用explode(".", $string)通常无法提供良好的效果。

在Stackoverflow中搜索“php split sentence”,或直接尝试解决方案PHP: Parse document / text into sentences

  

http://www.zubrag.com/scripts/text-splitter.php

一旦你有一个包含句子的数组,请使用

echo '<p>' . implode('</p><p>', $sentences) . '</p>';

回应他们。