首页 > 解决方案 > 如何使用 implode 和 array_splice 结束句子?

问题描述

如果我们的内容中有 5 个句子,并且我们想将所有文本分成两个区域,我们将使用如下内容:

$content = 'Sentence number one. Sentence number two. Sentence number 3. Sentence number 4. Sentence number 5.';
$slices = explode(" ", $content);
$first_slice = implode(" ", array_splice($slices, 0, 10));
$second_slice = implode(" ", array_splice($slices, 0));
echo '<div class="first_slice">'. $first_slice .'</div>';
echo '<div class="second_slice">'. $second_slice .'</div>';

这个的输出是:

<div class="first_slice">Sentence number one. Sentence number two. Sentence number 3. Sentence</div>
<div class="second_slice">number 4. Sentence number 5.</div>

如何将开始的句子推到结束?在此示例中,如何获取输出:

<div class="first_slice">Sentence number one. Sentence number two. Sentence number 3. Sentence number 4.</div>
<div class="second_slice">Sentence number 5.</div>

标签: phphtml

解决方案


您可以通过假设每个句子都以一个点和一个空格结尾来拆分句子。

<?php
$content = 'Sentence number one. Sentence number two. Sentence number 3. Sentence number 4. Sentence number 5.';
$sentences = explode(". ", $content);
$first_slice = array_slice($sentences, 0, 3);
$second_slice = array_slice($sentences, 3, 4);
?>

然后打印你想要的句子:

<div class="first_slice">
<?php
echo implode(" ", $first_slice);
?>
</div>
<div class="second_slice">
<?php
echo implode(" ", $second_slice);
?>
</div>

推荐阅读