PHP中的短语拆分算法

Eri*_*Sim 6 php

不知道如何解释.我们来举个例子吧.说我想分开这句话

"今天是个好日子."

today
today is
today is a
today is a great
today is a great day
is
is a
is a great
is a great day
a
a great
a great day
great
great day
day
Run Code Online (Sandbox Code Playgroud)

这个想法是在一个句子中得到所有顺序组合.

我一直在想什么是PHP中最好的方法.欢迎任何想法.

Bri*_*nna 10

这是一个例子:

$sentence = 'Today is a great day.';

// Only leave "word" characters and whitespace
$sentence = preg_replace('/[^\w\s]+/', '', strtolower($sentence));

// Tokenize
$tokens = explode(' ', $sentence);

for($i = 0; $i < count($tokens); $i++) {
    for($j = 1; $j <= count($tokens) - $i; $j++) {
        echo implode(' ', array_slice($tokens, $i, $j)) . "<br />";
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

today
today is
today is a
today is a great
today is a great day
is
is a
is a great
is a great day
a
a great
a great day
great
great day
day
Run Code Online (Sandbox Code Playgroud)

  • +1易于阅读和理解,即没有过度设计:)但是,这将为代码高尔夫游戏提供良好的基础. (4认同)