2016-05-09 14 views
1

私はそうのようにそれをやった:2分割でテキストを分割する方法は?

if(strlen($block_text) > 2000) { 
    $half = strlen($block_text)/2; 
    $second_half = substr($block_text, $half); 
    $block_text = substr($block_text, 0, $half); 
} 

が、ここでの問題は、単語の途中で$second_half開始され、単語の途中で$block_text終了するということです。最初の半分がドットの後に終わるように何とか調整することが可能でしょうか.

+0

テキストの途中で最初のドットを検索します。 –

+0

とドット '.'がない場合はどうなりますか? –

+0

@low_rentsあります。 – Xeen

答えて

1
if(strlen($block_text) > 2000) { 
    $half = strpos($block_text, ".", strlen($block_text)/2); 
    $second_half = substr($block_text, $half); 
    $block_text = substr($block_text, 0, $half); 
} 

これで、テキストの半分の後に最初のドットが見つかります。

+0

@Xeen :-)ありがとう – Andreas

0

私はこれを試してみましたし、私のためによく働いているようだしました:私は上記の書いたものに加えて

if (2000 < strlen($block_text)) { 
    $string_parts = explode(" ", $block_text); 
    $half = join(" ", array_slice($string_parts, 0, floor(count($string_parts)/2))); 
    $second_half = join(" ", array_slice($string_parts, floor(count($string_parts)/2))); 
} 

、より良い精度を持つために、あなたがで見つかった複数の空白文字を削除する必要があるかもしれませんあなたのひも。

関連する問題