RteHtmlParser extends HtmlParser implements LoggerAwareInterface uses LoggerAwareTrait
Class for parsing HTML for the Rich Text Editor. (also called transformations)
Concerning line breaks: Regardless if LF (Unix-style) or CRLF (Windows) was put in, the HtmlParser works with LFs and migrates all line breaks to LFs internally, however when all transformations are done, all LFs are transformed to CRLFs. This means: RteHtmlParser always returns CRLFs to be maximum compatible with all formats.
Table of Contents
Interfaces
- LoggerAwareInterface
Constants
- VOID_ELEMENTS = 'area|base|br|col|command|embed|hr|img|input|keygen|meta|param|source|track|wbr'
Properties
- $allowedAttributesForParagraphTags : array<string|int, mixed>
- A list of HTML attributes for <p> tags. Because <p> tags are wrapped currently in a special handling, they have a special place for configuration via 'proc.keepPDIVattribs'
- $allowedClasses : array<string|int, mixed>
- Storage of the allowed CSS class names in the RTE
- $allowedTagsOutsideOfParagraphs : array<string|int, mixed>
- Any tags that are allowed outside of <p> sections - usually similar to the block elements plus some special tags like <hr> and <img> (if images are allowed).
- $blockElementList : string
- List of elements that are not wrapped into a "p" tag while doing the transformation.
- $caseShift_cache : array<string|int, mixed>
- $defaultAllowedTagsList : string
- List of all tags that are allowed by default
- $eventDispatcher : EventDispatcherInterface
- $getKeepTags_cache : array<string|int, mixed>
- Data caching for processing function
- $procOptions : array<string|int, mixed>
- Set to the TSconfig options coming from page TSconfig
- $TS_transform_db_safecounter : int
- Run-away brake for recursive calls.
Methods
- __construct() : mixed
- bidir_htmlspecialchars() : string
- Converts htmlspecialchars forth ($dir=1) AND back ($dir=-1)
- caseShift() : array<string|int, mixed>|string
- Internal function for case shifting of a string or whole array
- compileTagAttribs() : string
- Compiling an array with tag attributes into a string
- get_tag_attributes() : array<string|int, mixed>
- Returns an array with all attributes as keys. Attributes are only lowercase a-z If an attribute is empty (shorthand), then the value for the key is empty. You can check if it existed with isset()
- getFirstTag() : string
- Returns the first tag in $str Actually everything from the beginning of the $str is returned, so you better make sure the tag is the first thing.
- getFirstTagName() : string
- Returns the NAME of the first tag in $str
- HTMLcleaner() : string
- Function that can clean up HTML content according to configuration given in the $tags array.
- HTMLparserConfig() : array<string|int, mixed>
- Converts TSconfig into an array for the HTMLcleaner function.
- prefixRelPath() : string
- Internal sub-function for ->prefixResourcePath()
- prefixResourcePath() : string
- Prefixes the relative paths of hrefs/src/action in the tags [td,table,body,img,input,form,link,script,a] in the $content with the $main_prefix or and alternative given by $alternatives
- removeFirstAndLastTag() : string
- Removes the first and last tag in the string Anything before the first and after the last tags respectively is also removed
- split_tag_attributes() : array<string|int, mixed>
- Returns an array with the 'components' from an attribute list.
- splitIntoBlock() : array<string|int, mixed>
- Returns an array with the $content divided by tag-blocks specified with the list of tags, $tag Even numbers in the array are outside the blocks, Odd numbers are block-content.
- splitIntoBlockRecursiveProc() : string
- Splitting content into blocks *recursively* and processing tags/content with call back functions.
- splitTags() : array<string|int, mixed>
- Returns an array with the $content divided by tag-blocks specified with the list of tags, $tag Even numbers in the array are outside the blocks, Odd numbers are block-content.
- stripEmptyTags() : string
- Strips empty tags from HTML.
- transformTextForPersistence() : string
- Called to process HTML content before it is stored in the database.
- transformTextForRichTextEditor() : string
- Main entry point for transforming RTE content in the database so the Rich Text Editor can deal with e.g. links.
- divideIntoLines() : string|array<string|int, mixed>
- This resolves the $value into parts based on <p>-sections. These are returned as lines separated by LF.
- getKeepTags() : array<string|int, mixed>
- Creates an array of configuration for the HTMLcleaner function based on whether content go TO or FROM the Rich Text Editor ($direction)
- HTMLcleaner_db() : string
- Function for cleaning content going into the database.
- htmlSanitize() : string
- markBrokenLinks() : string
- Content Transformation from DB to RTE Checks all <a> tags which reference a t3://page and checks if the page is available If not, some offensive styling is added.
- processContentWithinParagraph() : string
- Used for transformation from RTE to DB
- removeBrokenLinkMarkers() : string
- Content Transformation from RTE to DB Removes link information error attributes from <a> tags that are added to broken links
- resolveAppliedTransformationModes() : array<string|int, mixed>
- Ensures what transformation modes should be executed, and that they are only executed once.
- runHtmlParserIfConfigured() : string
- Runs the HTML parser if it is configured Getting additional HTML cleaner configuration. These are applied either before or after the main transformation is done and thus totally independent processing options you can set up.
- sanitizeLineBreaksForContentOnly() : string
- Wrap <hr> tags with LFs, and also remove double LFs, used when transforming from RTE to DB
- setDivTags() : string
- Converts all lines into <p></p>-sections (unless the line has a p - tag already) For processing of content going FROM database TO RTE.
- setProcessingConfiguration() : void
- Sanitize and streamline given options (usually from RichTextConfiguration results "proc." and set them to the respective properties.
- streamlineLineBreaksAfterProcessing() : string
- Called after any processing / transformation was made just before the content is returned by the RTE parser all line breaks get unified to be "CRLF"s again.
- streamlineLineBreaksForProcessing() : string
- Called before any processing / transformation is made Removing any CRs (char 13) and only deal with LFs (char 10) internally.
- stripEmptyTagsIfConfigured() : string
- Strips the configured empty tags from the HMTL code.
- TS_links_db() : string
- Transformation handler: 'ts_links' / direction: "db" Processing anchor tags, and resolves them correctly again via the LinkService syntax
- TS_transform_db() : string
- Transformation handler: 'css_transform' / direction: "db" Cleaning (->db) for standard content elements (ts)
- TS_transform_rte() : string
- Transformation handler: css_transform / direction: "rte" Set (->rte) for standard content elements (ts)
Constants
VOID_ELEMENTS
public
mixed
VOID_ELEMENTS
= 'area|base|br|col|command|embed|hr|img|input|keygen|meta|param|source|track|wbr'
Properties
$allowedAttributesForParagraphTags
A list of HTML attributes for <p> tags. Because <p> tags are wrapped currently in a special handling, they have a special place for configuration via 'proc.keepPDIVattribs'
protected
array<string|int, mixed>
$allowedAttributesForParagraphTags
= ['class', 'align', 'id', 'title', 'dir', 'lang', 'xml:lang', 'itemscope', 'itemtype', 'itemprop']
$allowedClasses
Storage of the allowed CSS class names in the RTE
protected
array<string|int, mixed>
$allowedClasses
= []
$allowedTagsOutsideOfParagraphs
Any tags that are allowed outside of <p> sections - usually similar to the block elements plus some special tags like <hr> and <img> (if images are allowed).
protected
array<string|int, mixed>
$allowedTagsOutsideOfParagraphs
= ['address', 'article', 'aside', 'blockquote', 'div', 'footer', 'figure', 'figcaption', 'header', 'hr', 'nav', 'section']
Completely overrideable via 'proc.allowTagsOutside'
$blockElementList
List of elements that are not wrapped into a "p" tag while doing the transformation.
protected
string
$blockElementList
= 'DIV,TABLE,BLOCKQUOTE,PRE,UL,OL,H1,H2,H3,H4,H5,H6,ADDRESS,DL,DD,HEADER,SECTION,FOOTER,NAV,ARTICLE,ASIDE,FIGURE,FIGCAPTION'
$caseShift_cache
protected
array<string|int, mixed>
$caseShift_cache
= []
$defaultAllowedTagsList
List of all tags that are allowed by default
protected
string
$defaultAllowedTagsList
= 'b,i,u,a,img,br,div,center,pre,figure,figcaption,font,hr,sub,sup,p,strong,em,li,ul,ol,blockquote,strike,span,abbr,acronym,dfn,s,mark'
$eventDispatcher read-only
protected
EventDispatcherInterface
$eventDispatcher
$getKeepTags_cache
Data caching for processing function
protected
array<string|int, mixed>
$getKeepTags_cache
= []
$procOptions
Set to the TSconfig options coming from page TSconfig
protected
array<string|int, mixed>
$procOptions
= []
$TS_transform_db_safecounter
Run-away brake for recursive calls.
protected
int
$TS_transform_db_safecounter
= 100
Methods
__construct()
public
__construct(EventDispatcherInterface $eventDispatcher) : mixed
Parameters
- $eventDispatcher : EventDispatcherInterface
bidir_htmlspecialchars()
Converts htmlspecialchars forth ($dir=1) AND back ($dir=-1)
public
bidir_htmlspecialchars(string $value, int $dir) : string
Parameters
- $value : string
-
Input value
- $dir : int
-
Direction: forth ($dir=1, dir=2 for preserving entities) AND back ($dir=-1)
Return values
string —Output value
caseShift()
Internal function for case shifting of a string or whole array
public
caseShift(mixed $str, bool $caseSensitiveComparison[, string $cacheKey = '' ]) : array<string|int, mixed>|string
Parameters
- $str : mixed
-
Input string/array
- $caseSensitiveComparison : bool
-
If this value is FALSE, the string is returned in uppercase
- $cacheKey : string = ''
-
Key string used for internal caching of the results. Could be an MD5 hash of the serialized version of the input $str if that is an array.
Return values
array<string|int, mixed>|string —Output string, processed
compileTagAttribs()
Compiling an array with tag attributes into a string
public
compileTagAttribs(array<string|int, mixed> $tagAttrib[, array<string|int, mixed> $meta = [] ]) : string
Parameters
- $tagAttrib : array<string|int, mixed>
-
Tag attributes
- $meta : array<string|int, mixed> = []
-
Meta information about these attributes (like if they were quoted)
Return values
string —Imploded attributes, eg: 'attribute="value" attrib2="value2"'
get_tag_attributes()
Returns an array with all attributes as keys. Attributes are only lowercase a-z If an attribute is empty (shorthand), then the value for the key is empty. You can check if it existed with isset()
public
get_tag_attributes(string $tag[, bool $deHSC = false ]) : array<string|int, mixed>
Compared to the method in GeneralUtility::get_tag_attributes this method also returns meta data about each attribute, e.g. if it is a shorthand attribute, and what the quotation is. Also, since all attribute keys are lower-cased, the meta information contains the original attribute name.
Parameters
- $tag : string
-
Tag: $tag is either a whole tag (eg '<TAG OPTION ATTRIB=VALUE>') or the parameterlist (ex ' OPTION ATTRIB=VALUE>')
- $deHSC : bool = false
-
If set, the attribute values are de-htmlspecialchar'ed. Should actually always be set!
Return values
array<string|int, mixed> —array(Tag attributes,Attribute meta-data)
getFirstTag()
Returns the first tag in $str Actually everything from the beginning of the $str is returned, so you better make sure the tag is the first thing.
public
getFirstTag(string $str) : string
..
Parameters
- $str : string
-
HTML string with tags
Return values
stringgetFirstTagName()
Returns the NAME of the first tag in $str
public
getFirstTagName(string $str[, bool $preserveCase = false ]) : string
Parameters
- $str : string
-
HTML tag (The element name MUST be separated from the attributes by a space character! Just whitespace will not do)
- $preserveCase : bool = false
-
If set, then the tag is NOT converted to uppercase by case is preserved.
Tags
Return values
string —Tag name in upper case
HTMLcleaner()
Function that can clean up HTML content according to configuration given in the $tags array.
public
HTMLcleaner(string $content[, array<string|int, mixed> $tags = [] ][, mixed $keepAll = 0 ][, int $hSC = 0 ][, array<string|int, mixed> $addConfig = [] ]) : string
Initializing the $tags array to allow a list of tags (in this case <B>,<I>,<U> and <A>), set it like this: $tags = array_flip(explode(',','b,a,i,u')) If the value of the $tags[$tagname] entry is an array, advanced processing of the tags is initialized. These are the options:
$tags[$tagname] = Array(
'overrideAttribs' => '' If set, this string is preset as the attributes of the tag
'allowedAttribs' => '0' (zero) = no attributes allowed, '[commalist of attributes]' = only allowed attributes. If blank, all attributes are allowed.
'fixAttrib' => Array(
'[attribute name]' => Array (
'set' => Force the attribute value to this value.
'unset' => Boolean: If set, the attribute is unset.
'default' => If no attribute exists by this name, this value is set as default value (if this value is not blank)
'always' => Boolean. If set, the attribute is always processed. Normally an attribute is processed only if it exists
'trim,intval,lower,upper' => All booleans. If any of these keys are set, the value is passed through the respective PHP-functions.
'range' => Array ('[low limit]','[high limit, optional]') Setting integer range.
'list' => Array ('[value1/default]','[value2]','[value3]') Attribute must be in this list. If not, the value is set to the first element.
'removeIfFalse' => Boolean/'blank'. If set, then the attribute is removed if it is 'FALSE'. If this value is set to 'blank' then the value must be a blank string (that means a 'zero' value will not be removed)
'removeIfEquals' => [value] If the attribute value matches the value set here, then it is removed.
'casesensitiveComp' => 1 If set, then the removeIfEquals and list comparisons will be case sensitive. Otherwise not.
)
),
'protect' => '', Boolean. If set, the tag <> is converted to < and >
'remap' => '', String. If set, the tagname is remapped to this tagname
'rmTagIfNoAttrib' => '', Boolean. If set, then the tag is removed if no attributes happened to be there.
'nesting' => '', Boolean/'global'. If set TRUE, then this tag must have starting and ending tags in the correct order. Any tags not in this order will be discarded. Thus '</B><B><I></B></I></B>' will be converted to '<B><I></B></I>'. Is the value 'global' then true nesting in relation to other tags marked for 'global' nesting control is preserved. This means that if <B> and <I> are set for global nesting then this string '</B><B><I></B></I></B>' is converted to '<B></B>'
)
Parameters
- $content : string
-
Is the HTML-content being processed. This is also the result being returned.
- $tags : array<string|int, mixed> = []
-
Is an array where each key is a tagname in lowercase. Only tags present as keys in this array are preserved. The value of the key can be an array with a vast number of options to configure.
- $keepAll : mixed = 0
-
Boolean/'protect', if set, then all tags are kept regardless of tags present as keys in $tags-array. If 'protect' then the preserved tags have their <> converted to < and >
- $hSC : int = 0
-
Values -1,0,1,2: Set to zero= disabled, set to 1 then the content BETWEEN tags is htmlspecialchar()'ed, set to -1 its the opposite and set to 2 the content will be HSC'ed BUT with preservation for real entities (eg. "&" or "ê")
- $addConfig : array<string|int, mixed> = []
-
Configuration array send along as $conf to the internal functions
Return values
string —Processed HTML content
HTMLparserConfig()
Converts TSconfig into an array for the HTMLcleaner function.
public
HTMLparserConfig(array<string|int, mixed> $TSconfig[, array<string|int, mixed> $keepTags = [] ]) : array<string|int, mixed>
Parameters
- $TSconfig : array<string|int, mixed>
-
TSconfig for HTMLcleaner
- $keepTags : array<string|int, mixed> = []
-
Array of tags to keep (?)
Return values
array<string|int, mixed>prefixRelPath()
Internal sub-function for ->prefixResourcePath()
public
prefixRelPath(string $prefix, string $srcVal[, string $suffix = '' ]) : string
Parameters
- $prefix : string
-
Prefix string
- $srcVal : string
-
Relative path/URL
- $suffix : string = ''
-
Suffix string
Return values
string —Output path, prefixed if no scheme in input string
prefixResourcePath()
Prefixes the relative paths of hrefs/src/action in the tags [td,table,body,img,input,form,link,script,a] in the $content with the $main_prefix or and alternative given by $alternatives
public
prefixResourcePath(string $main_prefix, string $content[, array<string|int, mixed> $alternatives = [] ][, string $suffix = '' ]) : string
Parameters
- $main_prefix : string
-
Prefix string
- $content : string
-
HTML content
- $alternatives : array<string|int, mixed> = []
-
Array with alternative prefixes for certain of the tags. key=>value pairs where the keys are the tag element names in uppercase
- $suffix : string = ''
-
Suffix string (put after the resource).
Return values
string —Processed HTML content
removeFirstAndLastTag()
Removes the first and last tag in the string Anything before the first and after the last tags respectively is also removed
public
removeFirstAndLastTag(string $str) : string
Parameters
- $str : string
-
String to process
Return values
stringsplit_tag_attributes()
Returns an array with the 'components' from an attribute list.
public
split_tag_attributes(string $tag) : array<string|int, mixed>
The result is normally analyzed by get_tag_attributes Removes tag-name if found.
The difference between this method and the one in GeneralUtility is that this method actually determines more information on the attribute, e.g. if the value is enclosed by a " or ' character. That's why this method returns two arrays, the "components" and the "meta-information" of the "components".
Parameters
- $tag : string
-
The tag or attributes
Tags
Return values
array<string|int, mixed>splitIntoBlock()
Returns an array with the $content divided by tag-blocks specified with the list of tags, $tag Even numbers in the array are outside the blocks, Odd numbers are block-content.
public
splitIntoBlock(string $tag, string $content[, bool $eliminateExtraEndTags = false ]) : array<string|int, mixed>
Use ->removeFirstAndLastTag() to process the content if needed.
Parameters
- $tag : string
-
List of tags, comma separated.
- $content : string
-
HTML-content
- $eliminateExtraEndTags : bool = false
-
If set, excessive end tags are ignored - you should probably set this in most cases.
Tags
Return values
array<string|int, mixed> —Even numbers in the array are outside the blocks, Odd numbers are block-content.
splitIntoBlockRecursiveProc()
Splitting content into blocks *recursively* and processing tags/content with call back functions.
public
splitIntoBlockRecursiveProc(string $tag, string $content, object &$procObj, string $callBackContent, string $callBackTags[, int $level = 0 ]) : string
Parameters
- $tag : string
-
Tag list, see splitIntoBlock()
- $content : string
-
Content, see splitIntoBlock()
- $procObj : object
-
Object where call back methods are.
- $callBackContent : string
-
Name of call back method for content; "function callBackContent($str,$level)
- $callBackTags : string
-
Name of call back method for tags; "function callBackTags($tags,$level)
- $level : int = 0
-
Indent level
Tags
Return values
string —Processed content
splitTags()
Returns an array with the $content divided by tag-blocks specified with the list of tags, $tag Even numbers in the array are outside the blocks, Odd numbers are block-content.
public
splitTags(string $tag, string $content) : array<string|int, mixed>
Use ->removeFirstAndLastTag() to process the content if needed.
Parameters
- $tag : string
-
List of tags
- $content : string
-
HTML-content
Tags
Return values
array<string|int, mixed> —Even numbers in the array are outside the blocks, Odd numbers are block-content.
stripEmptyTags()
Strips empty tags from HTML.
public
stripEmptyTags(string $content[, string $tagList = '' ][, bool $treatNonBreakingSpaceAsEmpty = false ][, bool $keepTags = false ]) : string
Parameters
- $content : string
-
The content to be stripped of empty tags
- $tagList : string = ''
-
The comma separated list of tags to be stripped. If empty, all empty tags will be stripped
- $treatNonBreakingSpaceAsEmpty : bool = false
-
If TRUE tags containing only entities will be treated as empty.
- $keepTags : bool = false
-
If true, the provided tags will be kept instead of stripped.
Return values
string —the stripped content
transformTextForPersistence()
Called to process HTML content before it is stored in the database.
public
transformTextForPersistence(string $value, array<string|int, mixed> $processingConfiguration) : string
Parameters
- $value : string
- $processingConfiguration : array<string|int, mixed>
Return values
stringtransformTextForRichTextEditor()
Main entry point for transforming RTE content in the database so the Rich Text Editor can deal with e.g. links.
public
transformTextForRichTextEditor(string $value, array<string|int, mixed> $processingConfiguration) : string
Parameters
- $value : string
- $processingConfiguration : array<string|int, mixed>
Return values
stringdivideIntoLines()
This resolves the $value into parts based on <p>-sections. These are returned as lines separated by LF.
protected
divideIntoLines(string $value[, int $count = 5 ][, bool $returnArray = false ]) : string|array<string|int, mixed>
This point is to resolve the HTML-code returned from RTE into ordinary lines so it's 'human-readable' The function ->setDivTags does the opposite. This function processes content to go into the database.
Parameters
- $value : string
-
Value to process.
- $count : int = 5
-
Recursion brake. Decremented on each recursion down to zero. Default is 5 (which equals the allowed nesting levels of p tags).
- $returnArray : bool = false
-
If TRUE, an array with the lines is returned, otherwise a string of the processed input value.
Tags
Return values
string|array<string|int, mixed> —Processed input value.
getKeepTags()
Creates an array of configuration for the HTMLcleaner function based on whether content go TO or FROM the Rich Text Editor ($direction)
protected
getKeepTags(string $direction) : array<string|int, mixed>
Parameters
- $direction : string
-
The direction of the content being processed by the output configuration; "db" (content going into the database FROM the rte) or "rte" (content going into the form)
Tags
Return values
array<string|int, mixed> —Configuration array
HTMLcleaner_db()
Function for cleaning content going into the database.
protected
HTMLcleaner_db(string $content) : string
Content is cleaned eg. by removing unallowed HTML and ds-HSC content It is basically calling HTMLcleaner from the parent class with some preset configuration specifically set up for cleaning content going from the RTE into the db
Parameters
- $content : string
-
Content to clean up
Tags
Return values
string —Clean content
htmlSanitize()
protected
htmlSanitize(string $content, array<string|int, mixed> $configuration) : string
Parameters
- $content : string
- $configuration : array<string|int, mixed>
Return values
stringmarkBrokenLinks()
Content Transformation from DB to RTE Checks all <a> tags which reference a t3://page and checks if the page is available If not, some offensive styling is added.
protected
markBrokenLinks(string $content) : string
Parameters
- $content : string
Return values
string —the modified content
processContentWithinParagraph()
Used for transformation from RTE to DB
protected
processContentWithinParagraph(string $content, string $fullContentWithTag) : string
Works on a single line within a
tag when storing into the database This always adds
tags and validates the arguments, additionally the content is cleaned up via the HTMLcleaner.
Parameters
- $content : string
-
the content within the
tag
- $fullContentWithTag : string
-
the whole
tag surrounded as well
Return values
string —the full
tag with cleaned content
removeBrokenLinkMarkers()
Content Transformation from RTE to DB Removes link information error attributes from <a> tags that are added to broken links
protected
removeBrokenLinkMarkers(string $content) : string
Parameters
- $content : string
-
the content to process
Return values
string —the modified content
resolveAppliedTransformationModes()
Ensures what transformation modes should be executed, and that they are only executed once.
protected
resolveAppliedTransformationModes(string $direction) : array<string|int, mixed>
Parameters
- $direction : string
Return values
array<string|int, mixed> —the resolved transformation modes
runHtmlParserIfConfigured()
Runs the HTML parser if it is configured Getting additional HTML cleaner configuration. These are applied either before or after the main transformation is done and thus totally independent processing options you can set up.
protected
runHtmlParserIfConfigured(string $content, string $configurationDirective) : string
This is only possible via TSconfig (procOptions) currently.
Parameters
- $content : string
- $configurationDirective : string
-
used to look up in the procOptions if enabled, and then fetch the
Return values
string —the processed content
sanitizeLineBreaksForContentOnly()
Wrap <hr> tags with LFs, and also remove double LFs, used when transforming from RTE to DB
protected
sanitizeLineBreaksForContentOnly(string $content) : string
Parameters
- $content : string
Return values
string —the modified content
setDivTags()
Converts all lines into <p></p>-sections (unless the line has a p - tag already) For processing of content going FROM database TO RTE.
protected
setDivTags(string $value) : string
Parameters
- $value : string
-
Value to convert
Tags
Return values
string —Processed value.
setProcessingConfiguration()
Sanitize and streamline given options (usually from RichTextConfiguration results "proc." and set them to the respective properties.
protected
setProcessingConfiguration(array<string|int, mixed> $processingConfiguration) : void
Parameters
- $processingConfiguration : array<string|int, mixed>
streamlineLineBreaksAfterProcessing()
Called after any processing / transformation was made just before the content is returned by the RTE parser all line breaks get unified to be "CRLF"s again.
protected
streamlineLineBreaksAfterProcessing(string $content) : string
Historical note: Previously it was possible to disable this functionality via disableUnifyLineBreaks.
Parameters
- $content : string
-
the content to process
Return values
string —the modified content
streamlineLineBreaksForProcessing()
Called before any processing / transformation is made Removing any CRs (char 13) and only deal with LFs (char 10) internally.
protected
streamlineLineBreaksForProcessing(string $content) : string
CR has a very disturbing effect, so just remove all CR and rely on LF
Historical note: Previously it was possible to disable this functionality via disableUnifyLineBreaks.
Parameters
- $content : string
-
the content to process
Return values
string —the modified content
stripEmptyTagsIfConfigured()
Strips the configured empty tags from the HMTL code.
protected
stripEmptyTagsIfConfigured(string $value, array<string|int, mixed> $configuration) : string
Parameters
- $value : string
- $configuration : array<string|int, mixed>
Return values
stringTS_links_db()
Transformation handler: 'ts_links' / direction: "db" Processing anchor tags, and resolves them correctly again via the LinkService syntax
protected
TS_links_db(string $value) : string
Splits content into tag blocks and processes each tag, and allows hooks to actually render the result.
Parameters
- $value : string
-
Content input
Return values
string —Content output
TS_transform_db()
Transformation handler: 'css_transform' / direction: "db" Cleaning (->db) for standard content elements (ts)
protected
TS_transform_db(string $value) : string
Parameters
- $value : string
-
Content input
Tags
Return values
string —Content output
TS_transform_rte()
Transformation handler: css_transform / direction: "rte" Set (->rte) for standard content elements (ts)
protected
TS_transform_rte(string $value) : string
Parameters
- $value : string
-
Content input
Tags
Return values
string —Content output