php - 如何使用 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>
解决方案
您可以通过假设每个句子都以一个点和一个空格结尾来拆分句子。
<?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>
推荐阅读
- php - PHPMaker 2019 | 加入“Recordset_Selecting?
- java - JMeter 垃圾回收影响吞吐量时序
- ruby - 如何从 ruby 哈希访问 laravel 8 获取数据?
- bash - 使用 bash 脚本对 CSV 文件进行排序和比较
- java - Spring Caching 的 AbstractCacheInvoker doPut() 方法错误调用 RedisCache put() 方法
- mongodb - 如果属性相同,MongoDB 更新对象数组
- firebase - 如何使用 geoflutterfire 查询数据?
- bash - 如何在没有大量代码的情况下使用 BASH SCRIPT 快速更改字符串中的数字?
- kable - 均值比较表
- php - 正则表达式:排除所有偶数/奇数匹配