Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. UnicodeString.php

function UnicodeString::chunk

Overrides AbstractString::chunk

File

vendor/symfony/string/UnicodeString.php, line 66

Class

UnicodeString
Represents a string of Unicode grapheme clusters encoded as UTF-8.

Namespace

Symfony\Component\String

Code

public function chunk(int $length = 1) : array {
    if (1 > $length) {
        throw new InvalidArgumentException('The chunk length must be greater than zero.');
    }
    if ('' === $this->string) {
        return [];
    }
    $rx = '/(';
    while (65535 < $length) {
        $rx .= '\\X{65535}';
        $length -= 65535;
    }
    $rx .= '\\X{' . $length . '})/u';
    $str = clone $this;
    $chunks = [];
    foreach (preg_split($rx, $this->string, -1, \PREG_SPLIT_DELIM_CAPTURE | \PREG_SPLIT_NO_EMPTY) as $chunk) {
        $str->string = $chunk;
        $chunks[] = clone $str;
    }
    return $chunks;
}
RSS feed
Powered by Drupal