Login   Register  
PHP Classes
elePHPant
Icontem

File: buffer_test.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of David Johns  >  String Buffer  >  buffer_test.php  >  Download  
File: buffer_test.php
Role: Example script
Content type: text/plain
Description: exmples of string_buffer in use
Class: String Buffer
Manipulate text strings as with Java StringBuffer
Author: By
Last change:
Date: 2004-12-16 05:41
Size: 4,951 bytes
 

Contents

Class file image Download
<?php

/**************Examples of the string_buffer Class*********************

************************Class Description************************
A simple class that allows the extensive manipulation of
a string.
The class is loosely based on the java StringBuffer class!

The class also has some 'enumeration' functions to enable
easy scanning operation over the string.

The functions will not accept out of range requests. So no error will occur within the code,
 However
no warning is given when an out of range request is provided. So therefore the
onus is on the user of this class to supply correct parameters

This class has not been fully tested,
though it has been used in a commercial application for sometime.
It was written in June 2004 under PHP v4

*****************************************************************

 ***KNOW ISSUES******************************************
 Avoid using a backward iteration whilst deleting,
 as I would expect this to cause problems in some cases!
 ********************************************************

*********************Contact and Bug report***********************
 ----David Johns www.javaservices.co.uk ---
 --- open source page http://www.javaservices.co.uk/example.htm?p=9
 ----e-mail saltash5@nildram.co.uk ---------

********************Licence****************************************
This software is covered by The GNU General Public License (GPL)
Author David Johns
Version 1.0
Date December 2004

*****************************************************************


 
*/


include'string_buffer.php';

echo 
"<h1>"." The string_buffer class"."</h1>";
echo 
"<br />";
echo 
"<br />";
echo 
"<h2>"."Here are some eaxmples of how to use the string_buffer class";
echo 
"<br />"."It allows the easy manipulation of a string,";
echo 
"<br />"."as well as the ability to iterate over that string, without the need for a for next loop";
echo 
"<br />"."</h2>";
echo 
"<br />";




 
$buffer = new string_buffer("abcdefghiklmn 0123 456 ");
 
 
/******************************************************************************************
 Simple Example 1) REMOVE ALL SPACES
 use the iteration function
 to move through the string
 when a space is encountered the
 space is removed
 */

      
echo "<br />"."original string: ".$buffer->to_string();
            while(
$buffer->has_more()){
               
$tmp =$buffer->get_next_char();
               
$idx=$buffer->get_current_pos();




                         if(
$tmp==chr(32)){

                        
$buffer->delete_char_at($idx);
                        }
                }

              echo 
"<br />"."the string with spaces removed: ".$buffer->to_string();
              echo 
"<br />";

    
/******************************************************************************************
 Simple Example 2) temp reversal of string
 use the revers iteration function
 to move back through the string

 */




     
echo "<br />"."original string: ".$buffer->to_string();
     while(
$buffer->has_less()){
         
$tmp.=$buffer->get_prev_char();
         }

         echo 
"<br />"."reverse the string: ".$tmp;
         echo 
"<br />";

   
/*******************************************************************************************
    Simple Example 3)
    Add a string at the front middle and end of the string
  */
 
  
echo "<br />"."original string: ".$buffer->to_string();
 
        
$buffer->insert(0," START ");
        
$buffer->insert($buffer->buflen()," END ");
        
$buffer->insert($buffer->buflen()/2," MIDDLE ");
 
  echo 
"<br />"."string apended: ".$buffer->to_string();
  echo 
"<br />";
   
   
/*******************************************************************************************
    Simple Example 4)
    change any \ to / slashes
  */
   
   
   
$buffer_new = new string_buffer("http:".chr(92).chr(92)."www.javaservices.co.uk ");
    echo 
"<br />"."original string: ".$buffer_new->to_string();

    while(
$buffer_new->has_more()){
         
$tmp =$buffer_new->get_next_char();
         
                if(
$tmp==chr(92)){
                
$buffer_new->set_char_at($buffer_new->get_current_pos(),chr(47));
          
                }
           }
         
$buffer->pointer_reset();  // RESET THE POINTER TO THE START OF THE STRING
         
         
echo  "<br />"."change incorrect backwards slash to / : ".$buffer_new->to_string();
         echo 
"<br />";
         
       
/*******************************************************************************************
    Simple Example 4)
    add tag
  */
        
$buffer_new->insert(0,"<a href =".chr(34));
        
$buffer_new->insert($buffer_new->buflen(),chr(34).">");
         
$buffer_new->insert($buffer_new->buflen(),"see my home page</a>");
     echo  
"<br />"."a tag added : ";
     echo 
$buffer_new->to_string();

?>