<?php
function Rot47($string)
{
    
$return_string '';
    
$chars preg_split('//'$string, -1PREG_SPLIT_NO_EMPTY);
    foreach (
$chars AS $char)
    {
        
$return_string .= Rot47_char($char);
    }
    return 
$return_string;
}

function 
Rot47_char($char)
{
    if (
$char == ' ')
        return 
' ';

    
$ascii ord($char);
    
$ascii += 47;
    if (
$ascii 126$ascii -= 94;
    if (
$ascii 33$ascii += 94;

    return 
chr($ascii);
}

var_dump(Rot47("Mooo"));

?>