PHPプログラムに関する各種メモ書き

PHPで長い英文の文章を単語の途中で切らずに分割する

● PHPで長い英文の文章を単語の途中で切らずに分割する

・vanderlee/php-sentence

https://packagist.org/packages/vanderlee/php-sentence

composer require vanderlee/php-sentence

使い方 例:9500バイト以上の英文を分けて配列で返します。

require 'vendor/autoload.php';

function split_english_text($text = '', $bytes = 9500) {
	$split_text_arrray = [];
	if (mb_strlen($text) > $bytes) {
		$Sentence = new Sentence;
		$sentences = $Sentence->split($text);
		$i = 0;
		foreach ($sentences as $v) {
			if (mb_strlen($split_text_arrray[$i]) >= $bytes) {
				$i++;
				$split_text_arrray[$i] .= $v;
			} else {
				$split_text_arrray[$i] .= $v;
			}
		}
	} else {
		$split_text_arrray[0] = $text;
	}
	return $split_text_arrray;
}

$text = <<< DOC_END
(ここに長い英文を入れます)
DOC_END;

$split_text_arrray = split_english_text($text);
print_r( $split_text_arrray );

長い文章を約9500バイト毎に配列にします。

No.1372
11/20 12:21

edit