Uses my TMap 'class'... Thought it might be useful for generic converters.
( Note: This can't convert a Muslim to being Christian. )
PHP Code:
function onCreated()
{
this.codeMap = TMap.newInstance();
this.codeMap.put( "&", "&" );
this.codeMap.put( "<", "<ag;" );
this.codeMap.put( ">", "&rtag;" );
}
function encode( oldString )
{
return convert( oldString, this.codeMap );
}
function decode( oldString )
{
return convert( oldString, TMap.inverse( this.codeMap ) );
}
function convert( oldString, temp.codeMap )
{
temp.newString = oldString;
temp.codes = temp.codeMap.keySet();
for ( temp.i = 0; temp.i < temp.newString.length(); temp.i ++ )
{
for ( temp.code: temp.codes )
{
if ( temp.newString.substring( temp.i, temp.code.length() ) == temp.code )
{
temp.replace = temp.codeMap.get( temp.code );
temp.newString =
temp.newString.substring( 0, temp.i )
@ temp.replace @
temp.newString.substring( temp.i + temp.code.length() );
temp.i += temp.replace.length() - temp.code.length();
}
}
}
return temp.newString;
}