/**
  * Set required encode and binary hash of most probably character in 
  * selected language
  *      
  * @param string $lang [en, fr, gr, it, sp, ar] Language profile selected
  *      
  * @return object $this to build a fluent interface
  * @author Khaled Al-Sham'aa <*****@*****.**>
  */
 public static function setLang($lang)
 {
     switch ($lang) {
         case 'en':
             self::$_encode = ' etaoins';
             break;
         case 'fr':
             self::$_encode = ' enasriu';
             break;
         case 'gr':
             self::$_encode = ' enristu';
             break;
         case 'it':
             self::$_encode = ' eiaorln';
             break;
         case 'sp':
             self::$_encode = ' eaosrin';
             break;
         default:
             self::$_encode = iconv('utf-8', 'cp1256', ' الميوتة');
     }
     self::$_binary = '0000|0001|0010|0011|0100|0101|0110|0111|';
     return $this;
 }
Example #2
0
$before = strlen($str);
$after = strlen($zip);
$rate = round($after * 100 / $before);
echo "String size before was: {$before} Byte<br>";
echo "Compressed string size after is: {$after} Byte<br>";
echo "Rate {$rate} %<hr>";
$Arabic->setInputCharset('utf-8');
$Arabic->setOutputCharset('windows-1256');
$str = $Arabic->decompress($zip);
$word = 'ÇáÏæá';
if ($Arabic->search($zip, $word)) {
    echo "Search for {$word} in zipped string and find it<hr>";
} else {
    echo "Search for {$word} in zipped string and do not find it<hr>";
}
$len = I18N_Arabic_CompressStr::length($zip);
echo "Original length of zipped string is {$len} Byte<hr>";
echo '<div dir="rtl" align="justify">' . nl2br($str) . '</div>';
?>
</div><br />
<div class="Paragraph">
<h2>Example Code:</h2>
<?php 
$code = <<<END
<?php
    require '../../Arabic.php';
    \$Arabic = new I18N_Arabic('CompressStr');

    \$Arabic->setInputCharset('windows-1256');

    \$file = 'Compress/ar_example.txt';