を分割する位置を覚えて、私は次の文字列を持っていると仮定します、その後2番目の8ワードの分割。いくつの単語を分割するかの後ろの位置は、配列(2、8、3)に格納されます。次に、文字列は、カスタム文字列タガーに渡さなければ爆縮さ:スプリット文字列、
tag_string('I have been very busy lately and need to go to bed early');
私はtag_stringの出力は合計言葉が同じままであることを除いて、正確にどうなるかわかりません。出力の例は次のようになります。
I have-nn been-vb very-vb busy lately and-rr need to-r go to bed early-p
I-ee have been-vb very busy-df lately-nn and need-f to go to bed-uu early-yy
これは、文字列を未知数で長くします。私はtag_stringを制御できません。私が知っていることは、(1)単語の数が以前と同じであること、(2)配列が2の後に分割された後に8ワード後になることです。出力で
$string = "I have-nn been-vb very-vb busy lately and-rr need to-r go to bed early-p"
function split_string_again() {
// split after 2nd, and thereafter after 8th word
}
:私は今、解決策は、前と同じ配列にタグ付けされた文字列を爆発必要
$arr = array(
[0] => I have-nn
[1] => been-vb very-vb busy lately and-rr need to-r go
[2] => to bed early-p
)
だから、明確にする(私は以前にはなかった):私は覚えることにより、分割することはできませんstrposは文字列の前後にstrposがあるため、同じではありません。私は言葉の数を数える必要があります。
あなたはそれを爆発させ、配列の各部分を 'strlen'することができます – seanbreeden
あなたがしようとしていることを聞くことに興味があります、もっと進んでいれば[Rope data structure] http://en.wikipedia.org/wiki/Rope_%28computer_science%29) - PHPでの実装は「遅い」可能性があります。 – tplaner
@evolve私は今それをより良く説明したと思う - OPの編集を見なさい。 – Pr0no