Public Member Functions |
| | __construct () |
| | hide_block ($StringData, $BlockStart, $BlockEnd, &$Changed) |
| | show_block ($StringData, $BlockStart, $BlockEnd, &$Changed) |
| | compile_foreach ($Str, &$Record) |
| | print_record ($Str, &$Record) |
| | block_exists ($StringData, $BlockStart, $BlockEnd=false) |
| | get_macro_parameters ($StringData, $Name, $RegExValidators=array()) |
| | get_block_data ($StringData, $BlockStart, $BlockEnd) |
| | hide_unprocessed_blocks ($StringData, $BlockType, &$Changed) |
| | get_all_block_positions ($StringData, $BlockStart, $BlockEnd) |
| | get_possible_block_positions (&$Positions) |
| | get_block_positions ($StringData, $BlockStart, $BlockEnd) |
| | clear_ultimix_tags ($Data) |
| | find_all_macro (&$Data) |
Detailed Description
String utilities.
- Author
- Dodonov A.A.
Definition at line 28 of file string.php.
Constructor & Destructor Documentation
Constructor.
- Author
- Dodonov A.A.
Definition at line 54 of file string.php.
{
try
{
$this->Tags =
get_package(
'string::tags' ,
'last' , __FILE__ );
}
catch( Exception $e )
{
}
}
Member Function Documentation
| block_exists |
( |
|
$StringData, |
|
|
|
$BlockStart, |
|
|
|
$BlockEnd = false |
|
) |
| |
Function validates block's existance.
- Parameters
-
| $StringData | Processing data. |
| $BlockStart | - Marker of the block's begin. |
| $BlockEnd | - Marker of the block's end. |
- Returns
- - true if the block exists, false otherwise.
- Exceptions
-
| Exception | An exception of this type is thrown. |
- Author
- Dodonov A.A.
Definition at line 380 of file string.php.
{
try
{
$StartPos = strpos( $StringData , chr( 123 ).$BlockStart.chr( 125 ) );
if( $StartPos == false )
{
return( false );
}
if( $BlockEnd !== false )
{
$EndPos = strpos( $StringData , chr( 123 ).$BlockEnd.chr( 125 ) );
if( $EndPos == false )
{
return( false );
}
}
return( true );
}
catch( Exception $e )
{
}
}
| clear_ultimix_tags |
( |
|
$Data | ) |
|
Function removes special tags.
- Parameters
-
- Returns
- Data after processing.
- Exceptions
-
| Exception | An exception of this type is thrown. |
- Author
- Dodonov A.A.
Definition at line 774 of file string.php.
{
try
{
if( strpos( $Data[ 'path' ] , '{http_host}/' ) === 0 )
{
$Data[ 'path' ] = str_replace( '{http_host}/' , './' , $Data[ 'path' ] );
}
$Data[ 'path' ] = $this->Tags->compile_ultimix_tags( $Data[ 'path' ] );
return( $Data );
}
catch( Exception $e )
{
}
}
| compile_foreach |
( |
|
$Str, |
|
|
& |
$Record |
|
) |
| |
Function process macro 'foreach'.
- Parameters
-
| $Str | - Format template. |
| $Record | - Outputting record. |
- Returns
- Formatted data.
- Exceptions
-
| Exception | An exception of this type is thrown. |
- Author
- Dodonov A.A.
Definition at line 269 of file string.php.
{
try
{
{
$this->Settings->load_settings( $Parameters );
$Var = $this->Settings->get_setting( 'var' );
$Str = $this->apply_foreach_data( $Str , $Parameters , $Data );
$Str = $this->
hide_block( $Str ,
"foreach:$Parameters" ,
'~foreach' , $Changed );
$Changed = false;
}
return( $Str );
}
catch( Exception $e )
{
}
}
| find_all_macro |
( |
& |
$Data | ) |
|
Function returns a list of macro.
- Parameters
-
- Returns
- A list of macro.
- Exceptions
-
| Exception | An exception of this type is thrown. |
- Author
- Dodonov A.A.
Definition at line 815 of file string.php.
{
try
{
$Matches = array();
preg_match_all( '/\{([a-zA-Z0-9_]+)/' , $Data , $Matches );
return( array_unique( $Matches[ 1 ] ) );
}
catch( Exception $e )
{
}
}
| get_all_block_positions |
( |
|
$StringData, |
|
|
|
$BlockStart, |
|
|
|
$BlockEnd |
|
) |
| |
Function returns positions of all blocks'es ends and beginnings.
- Parameters
-
| $StringData | - Processing data. |
| $BlockStart | - Marker of the block's begin. |
| $BlockEnd | - Marker of the block's end. |
- Returns
- Beginnings and ends of the block.
- Exceptions
-
| Exception | An exception of this type is thrown. |
- Author
- Dodonov A.A.
Definition at line 616 of file string.php.
{
try
{
$Positions = array();
$StartPos = -1;
$EndPos = -1;
for( ; $StartPos = strpos( $StringData , chr( 123 ).$BlockStart.chr( 125 ) , $StartPos + 1 ) ; )
{
$Positions [ $StartPos ] = 's';
}
for( ; $EndPos = strpos( $StringData , chr( 123 ).$BlockEnd.chr( 125 ) , $EndPos + 1 ) ; )
{
$Positions [ $EndPos ] = 'e';
}
ksort( $Positions );
return( $Positions );
}
catch( Exception $e )
{
}
}
| get_block_data |
( |
|
$StringData, |
|
|
|
$BlockStart, |
|
|
|
$BlockEnd |
|
) |
| |
Function validates block's existance.
- Parameters
-
| $StringData | - Processing data. |
| $BlockStart | - Marker of the block's begin. |
| $BlockEnd | - Marker of the block's end. |
- Returns
- - true if the block exists, false otherwise.
- Exceptions
-
| Exception | An exception of this type is thrown. |
- Author
- Dodonov A.A.
Definition at line 498 of file string.php.
{
try
{
list( $StartPos , $EndPos ) = $this->
get_block_positions( $StringData , $BlockStart , $BlockEnd );
if( $StartPos !== false )
{
$BlockData = substr(
$StringData ,
$StartPos + strlen( chr( 123 ).$BlockStart.chr( 125 ) ) ,
$EndPos - $StartPos - strlen( chr( 123 ).$BlockStart.chr( 125 ) )
);
return( $BlockData );
}
else
{
throw( new Exception( 'An error occured while getting block data' ) );
}
}
catch( Exception $e )
{
}
}
| get_block_positions |
( |
|
$StringData, |
|
|
|
$BlockStart, |
|
|
|
$BlockEnd |
|
) |
| |
Function returns positions of the block's end and beginning.
- Parameters
-
| $StringData | - Processing data. |
| $BlockStart | - Marker of the block's begin. |
| $BlockEnd | - Marker of the block's end. |
- Returns
- Begin and end of the block.
- Exceptions
-
| Exception | An exception of this type is thrown. |
- Author
- Dodonov A.A.
Definition at line 727 of file string.php.
{
try
{
if( $StartPos === false )
{
return( array( false , false ) );
}
if( $EndPos === false )
{
throw( new Exception( 'Block end was not found' ) );
}
return( array( $StartPos , $EndPos ) );
}
catch( Exception $e )
{
}
}
| get_macro_parameters |
( |
|
$StringData, |
|
|
|
$Name, |
|
|
|
$RegExValidators = array() |
|
) |
| |
Function returns macro's parameters.
- Parameters
-
| $StringData | - Data to be parsed. |
| $Name | - Macro's parameters. |
| $RegExValidators | - Regular expressions for parameters validation. |
- Returns
- Macro's name. If the macro was not found then false will be returned.
- Exceptions
-
| Exception | An exception of this type is thrown. |
- Author
- Dodonov A.A.
Definition at line 437 of file string.php.
{
try
{
$StartPos = -1;
for( ; ( $TmpStartPos = strpos( $StringData , chr( 123 ).$Name.':' , $StartPos + 1 ) ) !== false ; )
{
$Counter = 1;
$StartPos = $TmpEndPos = $TmpStartPos;
$MacroStartPos = $StartPos;
$ParamStartPos = $MacroStartPos + strlen( chr( 123 ).$Name.':' );
$Result = $this->MacroParser->find_macro( $StringData , $TmpStartPos , $TmpEndPos ,
$StartPos , $Counter , $MacroStartPos , $ParamStartPos , $RegExValidators );
if( $Result !== false )
{
return( $Result );
}
}
return( false );
}
catch( Exception $e )
{
}
}
| get_possible_block_positions |
( |
& |
$Positions | ) |
|
Function returns possible positions of the block's end and beginning.
- Parameters
-
| $Positions | - Positions of all blocks. |
- Returns
- The beginning and the end of the block.
- Exceptions
-
| Exception | An exception of this type is thrown. |
- Author
- Dodonov A.A.
Definition at line 665 of file string.php.
{
try
{
$StartPos = $EndPos = false;
$c = 0;
foreach( $Positions as $Key => $Value )
{
if( $StartPos === false && $Value === 's' )
{
$c++;
$StartPos = $Key;
}
elseif( $EndPos === false && $Value === 'e' && $c === 1 )
{
$EndPos = $Key;
break;
}
elseif( $Value === 's' || $Value === 'e' && $c > 0 )
{
$c += $Value === 's' ? 1 : -1;
}
}
return( array( $StartPos , $EndPos ) );
}
catch( Exception $e )
{
}
}
| hide_block |
( |
|
$StringData, |
|
|
|
$BlockStart, |
|
|
|
$BlockEnd, |
|
|
& |
$Changed |
|
) |
| |
Function deletes text block.
- Parameters
-
| $StringData | - Processing data. |
| $BlockStart | - Marker of the block's begin. |
| $BlockEnd | - Marker of the block's end. |
| $Changed | - Was the sring processed. |
- Returns
- Processed block.
- Note
- All blocks will be deleted.
- Exceptions
-
| Exception | An exception of this type is thrown. |
- Author
- Dodonov A.A.
Definition at line 106 of file string.php.
{
try
{
list( $StartPos , $EndPos ) = $this->
get_block_positions( $StringData , $BlockStart , $BlockEnd );
if( $StartPos !== false )
{
$StringData = substr_replace( $StringData ,
'' ,
$StartPos ,
$EndPos - $StartPos + strlen( chr( 123 ).$BlockEnd.chr( 125 ) )
);
$Changed = true;
}
return( $StringData );
}
catch( Exception $e )
{
}
}
| hide_unprocessed_blocks |
( |
|
$StringData, |
|
|
|
$BlockType, |
|
|
& |
$Changed |
|
) |
| |
Function deletes text block.
- Parameters
-
| $StringData | - Processing data. |
| $BlockType | - Block's type. |
| $Changed | - Was the sring processed. |
- Returns
- Processed block.
- Note
- All blocks will be deleted.
- Exceptions
-
| Exception | An exception of this type is thrown. |
- Author
- Dodonov A.A.
Definition at line 559 of file string.php.
{
try
{
$PlaceHolders = array();
do
{
$PlaceHolders = array();
preg_match( "/\{$BlockType:([a-zA-Z0-9_]+)\}/" , $StringData , $PlaceHolders );
if( count( $PlaceHolders ) > 1 )
{
$StringData = $this->
hide_block( $StringData ,
"$BlockType:".$PlaceHolders[ 1 ] ,
"$BlockType:~".$PlaceHolders[ 1 ] , $Changed );
}
}
while( count( $PlaceHolders ) > 1 );
return( $StringData );
}
catch( Exception $e )
{
}
}
| print_record |
( |
|
$Str, |
|
|
& |
$Record |
|
) |
| |
Function makes a formatted output for record $Record and template.
- Parameters
-
| $Str | - Format template. |
| $Record | - Outputting record. |
- Returns
- Formatted data.
- Exceptions
-
| Exception | An exception of this type is thrown. |
- Author
- Dodonov A.A.
Definition at line 319 of file string.php.
{
try
{
if( is_array( $Record ) === false && is_object( $Record ) === false )
{
throw( new Exception( 'Invalid record was passed' ) );
}
foreach( $Record as $Field => $Value )
{
if( is_array( $Value ) || is_object( $Value ) )
{
}
else
{
$Str = str_replace( chr( 123 ).$Field.chr( 125 ) , $Value , $Str );
}
}
return( $Str );
}
catch( Exception $e )
{
}
}
| show_block |
( |
|
$StringData, |
|
|
|
$BlockStart, |
|
|
|
$BlockEnd, |
|
|
& |
$Changed |
|
) |
| |
Function deletes block's bounds.
- Parameters
-
| $StringData | - Processing data. |
| $BlockStart | - Marker of the block's begin. |
| $BlockEnd | - Marker of the block's end. |
| $Changed | - Was the sring processed. |
- Returns
- - Processed block.
- Exceptions
-
| Exception | An exception of this type is thrown. |
- Author
- Dodonov A.A.
Definition at line 165 of file string.php.
{
try
{
list( $StartPos , $EndPos ) = $this->
get_block_positions( $StringData , $BlockStart , $BlockEnd );
if( $StartPos !== false )
{
$BlockData = $this->
get_block_data( $StringData , $BlockStart , $BlockEnd );
$StringData = substr_replace( $StringData ,
$BlockData ,
$StartPos ,
$EndPos - $StartPos + strlen( chr( 123 ).$BlockEnd.chr( 125 ) )
);
$Changed = true;
}
return( $StringData );
}
catch( Exception $e )
{
}
}
Field Documentation
Cached objects.
- Author
- Dodonov A.A.
Definition at line 40 of file string.php.
The documentation for this class was generated from the following file: