[ Index ] |
PHP Cross Reference of WordPress Trunk (Updated Daily) |
[Source view] [Print] [Project Stats]
Class for efficiently looking up and mapping string keys to string values, with limits.
File Size: | 820 lines (29 kb) |
Included or required: | 0 times |
Referenced: | 0 times |
Includes or requires: | 0 files |
WP_Token_Map:: (8 methods):
from_array()
from_precomputed_table()
contains()
read_token()
read_small_token()
to_array()
precomputed_php_source_table()
longest_first_then_alphabetical()
Class: WP_Token_Map - X-Ref
WP_Token_Map class.from_array( array $mappings, int $key_length = 2 ) X-Ref |
Create a token map using an associative array of key/value pairs as the input. Example: $smilies = WP_Token_Map::from_array( array( '8O' => '😯', ':(' => '🙁', ':)' => '🙂', ':?' => '😕', ) ); param: array $mappings The keys transform into the values, both are strings. param: int $key_length Determines the group key length. Leave at the default value return: WP_Token_Map|null Token map, unless unable to create it. |
from_precomputed_table( $state ) X-Ref |
No description |
contains( string $word, string $case_sensitivity = 'case-sensitive' ) X-Ref |
Indicates if a given word is a lookup key in the map. Example: true === $smilies->contains( ':)' ); false === $smilies->contains( 'simile' ); param: string $word Determine if this word is a lookup key in the map. param: string $case_sensitivity Optional. Pass 'ascii-case-insensitive' to ignore ASCII case when matching. Default 'case-sensitive'. return: bool Whether there's an entry for the given word in the map. |
read_token( string $text, int $offset = 0, &$matched_token_byte_length = null, $case_sensitivity = 'case-sensitive' ) X-Ref |
If the text starting at a given offset is a lookup key in the map, return the corresponding transformation from the map, else `false`. This function returns the translated string, but accepts an optional parameter `$matched_token_byte_length`, which communicates how many bytes long the lookup key was, if it found one. This can be used to advance a cursor in calling code if a lookup key was found. Example: false === $smilies->read_token( 'Not sure :?.', 0, $token_byte_length ); '😕' === $smilies->read_token( 'Not sure :?.', 9, $token_byte_length ); 2 === $token_byte_length; Example: while ( $at < strlen( $input ) ) { $next_at = strpos( $input, ':', $at ); if ( false === $next_at ) { break; } $smily = $smilies->read_token( $input, $next_at, $token_byte_length ); if ( false === $next_at ) { ++$at; continue; } $prefix = substr( $input, $at, $next_at - $at ); $at += $token_byte_length; $output .= "{$prefix}{$smily}"; } param: string $text String in which to search for a lookup key. param: int $offset Optional. How many bytes into the string where the lookup key ought to start. Default 0. param: int|null &$matched_token_byte_length Optional. Holds byte-length of found token matched, otherwise not set. Default null. param: string $case_sensitivity Optional. Pass 'ascii-case-insensitive' to ignore ASCII case when matching. Default 'case-sensitive'. return: string|null Mapped value of lookup key if found, otherwise `null`. |
read_small_token( string $text, int $offset = 0, &$matched_token_byte_length = null, $case_sensitivity = 'case-sensitive' ) X-Ref |
Finds a match for a short word at the index. param: string $text String in which to search for a lookup key. param: int $offset Optional. How many bytes into the string where the lookup key ought to start. Default 0. param: int|null &$matched_token_byte_length Optional. Holds byte-length of found lookup key if matched, otherwise not set. Default null. param: string $case_sensitivity Optional. Pass 'ascii-case-insensitive' to ignore ASCII case when matching. Default 'case-sensitive'. return: string|null Mapped value of lookup key if found, otherwise `null`. |
to_array() X-Ref |
Exports the token map into an associate array of key/value pairs. Example: $smilies->to_array() === array( '8O' => '😯', ':(' => '🙁', ':)' => '🙂', ':?' => '😕', ); return: array The lookup key/substitution values as an associate array. |
precomputed_php_source_table( string $indent = "\t" ) X-Ref |
Export the token map for quick loading in PHP source code. This function has a specific purpose, to make loading of static token maps fast. It's used to ensure that the HTML character reference lookups add a minimal cost to initializing the PHP process. Example: echo $smilies->precomputed_php_source_table(); // Output. WP_Token_Map::from_precomputed_table( array( "storage_version" => "6.6.0", "key_length" => 2, "groups" => "", "long_words" => array(), "small_words" => "8O\x00:)\x00:(\x00:?\x00", "small_mappings" => array( "😯", "🙂", "🙁", "😕" ) ) ); param: string $indent Optional. Use this string for indentation, or rely on the default horizontal tab character. Default "\t". return: string Value which can be pasted into a PHP source file for quick loading of table. |
longest_first_then_alphabetical( string $a, string $b ) X-Ref |
No description |
Generated : Thu Nov 21 08:20:01 2024 | Cross-referenced by PHPXref |