14-09-2005, 15:01
|
|
|
חבר מתאריך: 12.08.04
הודעות: 993
|
|
בס"ד
המועדכן חוסך מקום ברווחים
קוד:
<?
define(ConvHebChr,'-');
class Conv
{
function Down($str)
{
if($str==ConvHebChr)
return ConvHebChr.ConvHebChr;
else
return chr(ord($str)-128);
}
function Up($str)
{
return chr(ord($str)+128);
}
function conv_heb($str)
{
$size=strlen($str);
$ret='';
$inheb=false;
for($l=0;$l<$size;$l++)
{
$chr=$str[$l];
if($chr==ConvHebChr)
{
$ret.=$chr.$chr;
continue;
}
if($inheb)
{
if(ord($chr)==32)
$ret.=ConvHebChr.'s';
elseif(ord($chr)<128)
{
$inheb=false;
$ret.=ConvHebChr.' '.$chr;
}else
$ret.=$this->Down($chr);
}else
{
if(ord($chr)>=128)
{
$inheb=true;
$ret.=ConvHebChr.$this->Down($chr);
}else
$ret.=$chr;
}
}
return $ret;
}
function conv_heb_back($str)
{
$size=strlen($str);
$inheb=false;
$ret='';
$tmp=chr(ord(ConvHebChr)-128);
for($l=0;$l<$size;$l++)
{
$chr=$str[$l];
if($inheb)
{
if($chr==$tmp&&$str[$l+1]==$tmp)
{
$l++;
$ret.=$this->Up($chr);
continue;
}elseif($chr==ConvHebChr&&$str[$l+1]=='s')
{
$l++;
$ret.=' ';
}
elseif($chr==ConvHebChr)
$inheb=false;
$ret.=$this->Up($chr);
}else
{
if($chr==ConvHebChr&&$str[$l+1]==ConvHebChr)
$ret.=ConvHebChr;
elseif($chr==ConvHebChr)
$inheb=true;
else
$ret.=$chr;
}
}
return $ret;
}
}
?>
|