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

Breadcrumb

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

function AbstractHeader::getEncodableWordTokens

Splits a string into tokens in blocks of words which can be encoded quickly.

Return value

string[]

1 call to AbstractHeader::getEncodableWordTokens()
AbstractHeader::encodeWords in vendor/symfony/mime/Header/AbstractHeader.php
Encode needed word tokens within a string of input.

File

vendor/symfony/mime/Header/AbstractHeader.php, line 163

Class

AbstractHeader
An abstract base MIME Header.

Namespace

Symfony\Component\Mime\Header

Code

protected function getEncodableWordTokens(string $string) : array {
    $tokens = [];
    $encodedToken = '';
    // Split at all whitespace boundaries
    foreach (preg_split('~(?=[\\t ])~', $string) as $token) {
        if ($this->tokenNeedsEncoding($token)) {
            $encodedToken .= $token;
        }
        else {
            if ('' !== $encodedToken) {
                $tokens[] = $encodedToken;
                $encodedToken = '';
            }
            $tokens[] = $token;
        }
    }
    if ('' !== $encodedToken) {
        $tokens[] = $encodedToken;
    }
    foreach ($tokens as $i => $token) {
        // whitespace(s) between 2 encoded tokens
        if (0 < $i && isset($tokens[$i + 1]) && preg_match('~^[\\t ]+$~', $token) && $this->tokenNeedsEncoding($tokens[$i - 1]) && $this->tokenNeedsEncoding($tokens[$i + 1])) {
            $tokens[$i - 1] .= $token . $tokens[$i + 1];
            array_splice($tokens, $i, 2);
        }
    }
    return $tokens;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal