Php 如何按特定的字数将句子分隔为数组项
我有一个句子(有时长,有时不长),必须分解成一个字符串。问题是,它必须按长度分开(永远不要切掉单词) 例如:Php 如何按特定的字数将句子分隔为数组项,php,string-split,Php,String Split,我有一个句子(有时长,有时不长),必须分解成一个字符串。问题是,它必须按长度分开(永远不要切掉单词) 例如: $sentence = 'I slipped it into that Stevia crap that you're always putting in your tea.'; 应为(每行顶部使用15个字母): 如你所见,某些线如 [1 ] 确实应该在 >甜菊CR 中删减,但是由于剪切是在最后一个单词的中间,所以它仍然被允许包含在这个块中。 我目前的做法是将$SEQUE切成相同大小的
$sentence = 'I slipped it into that Stevia crap that you're always putting in your tea.';
应为(每行顶部使用15个字母):
如你所见,某些线如<强> [1 ] 确实应该在<强> >甜菊CR 中删减,但是由于剪切是在最后一个单词的中间,所以它仍然被允许包含在这个块中。
我目前的做法是将$SEQUE切成相同大小的块,但这确实减少了一些单词。任何想法都会有帮助。谢谢 您可以使用wordwrap函数 产出将是:
array(1) {
[0]=> array(3) {
[0]=> string(17) "This is some text"
[1]=> string(17) "which we will use"
[2]=> string(11) "for testing"
}
}
它总是增加吗?我的意思是,如果你得到了“我把它滑进去了”,你还会想要整个“我把它滑进去了”还是“我把它滑进去了”?如果是第一种方法,就容易了。如果第15个字符上的单词很长怎么办?@poomrokct三十年前我会说“我把它滑进去了”,因为在那个特定的场景中,“我把它滑进去了”可能太长。“我把它滑进去了”而不是“我把它滑进去了”我不知道你的意思@Jack the code$text=“我把它塞进了你总是放在茶里的甜叶菊的垃圾里。”;$newtext[]=explode(“:”,wordwrap($text,17,“:”));返回他在帖子中描述的数组。如果OP想要软限制在15,你是如何定义17的?我明白你的意思了——但如果一行有“top”15个字符,结果就是“我塞进了它”而不是“我把它滑进去了”,因为后面是17个字符,显然是>15个字符。“前15名”可以通过explode(“:”,wordwrap($text,15,“:”)来完成;但由于OP在他的示例数组中描述了“我将其插入”,这是17个字符长,而且>然后“顶部”15个字符爆炸(“:”,wordwrap($text,17,“:”));返回期望的结果,我认为我的答案是正确的,我认为你的想法不太正确;它应该在15处剪辑,但如果这落在一个单词上,它应该直接在该单词后面剪辑。
$text = "This is some text which we will use for testing";
$newtext[] = explode(":", wordwrap( $text, 18, ":" ));
var_dump($newtext);
array(1) {
[0]=> array(3) {
[0]=> string(17) "This is some text"
[1]=> string(17) "which we will use"
[2]=> string(11) "for testing"
}
}