/** * 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; }
$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';