Documentation

Swift_Mime_Headers_AbstractHeader
in package
implements Swift_Mime_Header

An abstract base MIME Header.

Tags
author

Chris Corbyn

Interfaces, Classes and Traits

Swift_Mime_Header
A MIME Header.

Table of Contents

PHRASE_PATTERN  = '(?:(?:(?:(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?[a-zA-Z0-9!#\$%&'\*\+\-\/=\?\^_`\{\}\|~]+(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?)|(?:(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?"((?:(?:[ \t]*(?:\r\n))?[ \t])?(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21\x23-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])))*(?:(?:[ \t]*(?:\r\n))?[ \t])?"(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?))+?)'
$cachedValue  : string
The value of this Header, cached.
$charset  : string
The character set of the text in this Header.
$encoder  : Swift_Encoder
The Encoder used to encode this Header.
$lang  : string
The language used in this Header.
$lineLength  : int
The maximum length of a line in the header.
$name  : string
The name of this Header.
__toString()  : string
Returns a string representation of this object.
getCharset()  : string
Get the character set used in this Header.
getEncoder()  : Swift_Mime_HeaderEncoder
Get the encoder used for encoding this Header.
getFieldName()  : string
Get the name of this header (e.g. charset).
getLanguage()  : string
Get the language used in this Header.
getMaxLineLength()  : int
Get the maximum permitted length of lines in this Header.
setCharset()  : mixed
Set the character set used in this Header.
setEncoder()  : mixed
Set the encoder used for encoding the header.
setLanguage()  : mixed
Set the language used in this Header.
setMaxLineLength()  : mixed
Set the maximum length of lines in the header (excluding EOL).
toString()  : string
Get this Header rendered as a RFC 2822 compliant string.
clearCachedValueIf()  : mixed
Clear the cached value if $condition is met.
createPhrase()  : string
Produces a compliant, formatted RFC 2822 'phrase' based on the string given.
encodeWords()  : string
Encode needed word tokens within a string of input.
generateTokenLines()  : array<string|int, string>
Generates tokens from the given string which include CRLF as individual tokens.
getCachedValue()  : string
Get the value in the cache.
getEncodableWordTokens()  : array<string|int, string>
Splits a string into tokens in blocks of words which can be encoded quickly.
getTokenAsEncodedWord()  : string
Get a token as an encoded word for safe insertion into headers.
setCachedValue()  : mixed
Set a value into the cache.
setFieldName()  : mixed
Set the name of this Header field.
tokenNeedsEncoding()  : bool
Test if a token needs to be encoded or not.
toTokens()  : array<string|int, mixed>
Generate a list of all tokens in the final header.
escapeSpecials()  : string
Escape special characters in a string (convert to quoted-pairs).
tokensToString()  : string
Takes an array of tokens which appear in the header and turns them into an RFC 2822 compliant string, adding FWSP where needed.

Constants

PHRASE_PATTERN

public mixed PHRASE_PATTERN = '(?:(?:(?:(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?[a-zA-Z0-9!#\$%&'\*\+\-\/=\?\^_`\{\}\|~]+(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?)|(?:(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?"((?:(?:[ \t]*(?:\r\n))?[ \t])?(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21\x23-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])))*(?:(?:[ \t]*(?:\r\n))?[ \t])?"(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?))+?)'

Properties

$cachedValue

The value of this Header, cached.

private string $cachedValue = ull

$charset

The character set of the text in this Header.

private string $charset = 'utf-8'

$lineLength

The maximum length of a line in the header.

private int $lineLength = 78

Methods

__toString()

Returns a string representation of this object.

public __toString() : string
Tags
see
toString()
Return values
string —

getCharset()

Get the character set used in this Header.

public getCharset() : string
Return values
string —

getFieldName()

Get the name of this header (e.g. charset).

public getFieldName() : string
Return values
string —

getLanguage()

Get the language used in this Header.

public getLanguage() : string
Return values
string —

getMaxLineLength()

Get the maximum permitted length of lines in this Header.

public getMaxLineLength() : int
Return values
int —

setCharset()

Set the character set used in this Header.

public setCharset(string $charset) : mixed
Parameters
$charset : string
Return values
mixed —

setLanguage()

Set the language used in this Header.

public setLanguage(string $lang) : mixed

For example, for US English, 'en-us'. This can be unspecified.

Parameters
$lang : string
Return values
mixed —

setMaxLineLength()

Set the maximum length of lines in the header (excluding EOL).

public setMaxLineLength(int $lineLength) : mixed
Parameters
$lineLength : int
Return values
mixed —

clearCachedValueIf()

Clear the cached value if $condition is met.

protected clearCachedValueIf(bool $condition) : mixed
Parameters
$condition : bool
Return values
mixed —

createPhrase()

Produces a compliant, formatted RFC 2822 'phrase' based on the string given.

protected createPhrase(Swift_Mime_Header $header, string $string, string $charset[, Swift_Mime_HeaderEncoder $encoder = null ][, bool $shorten = false ]) : string
Parameters
$header : Swift_Mime_Header
$string : string

as displayed

$charset : string

of the text

$encoder : Swift_Mime_HeaderEncoder = null
$shorten : bool = false

the first line to make remove for header name

Return values
string —

encodeWords()

Encode needed word tokens within a string of input.

protected encodeWords(Swift_Mime_Header $header, string $input[, string $usedLength = -1 ]) : string
Parameters
$header : Swift_Mime_Header
$input : string
$usedLength : string = -1

optional

Return values
string —

generateTokenLines()

Generates tokens from the given string which include CRLF as individual tokens.

protected generateTokenLines(string $token) : array<string|int, string>
Parameters
$token : string
Return values
array<string|int, string> —

getCachedValue()

Get the value in the cache.

protected getCachedValue() : string
Return values
string —

getEncodableWordTokens()

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

protected getEncodableWordTokens(string $string) : array<string|int, string>
Parameters
$string : string
Return values
array<string|int, string> —

getTokenAsEncodedWord()

Get a token as an encoded word for safe insertion into headers.

protected getTokenAsEncodedWord(string $token, int $firstLineOffset) : string
Parameters
$token : string

token to encode

$firstLineOffset : int

optional

Return values
string —

setCachedValue()

Set a value into the cache.

protected setCachedValue(string $value) : mixed
Parameters
$value : string
Return values
mixed —

setFieldName()

Set the name of this Header field.

protected setFieldName(string $name) : mixed
Parameters
$name : string
Return values
mixed —

tokenNeedsEncoding()

Test if a token needs to be encoded or not.

protected tokenNeedsEncoding(string $token) : bool
Parameters
$token : string
Return values
bool —

toTokens()

Generate a list of all tokens in the final header.

protected toTokens([string $string = null ]) : array<string|int, mixed>
Parameters
$string : string = null

The string to tokenize

Return values
array<string|int, mixed> —

An array of tokens as strings

escapeSpecials()

Escape special characters in a string (convert to quoted-pairs).

private escapeSpecials(string $token[, array<string|int, string> $include = [] ]) : string
Parameters
$token : string
$include : array<string|int, string> = []

additional chars to escape

Return values
string —

tokensToString()

Takes an array of tokens which appear in the header and turns them into an RFC 2822 compliant string, adding FWSP where needed.

private tokensToString(array<string|int, string> $tokens) : string
Parameters
$tokens : array<string|int, string>
Return values
string —

Search results