| Source for file CharsetD.phpDocumentation is available at CharsetD.php 
 * ---------------------------------------------------------------------- * Copyright (c) 2006-2016 Khaled Al-Sham'aa. * ---------------------------------------------------------------------- * This program is open source product; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License (LGPL) * as published by the Free Software Foundation; either version 3 * of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU Lesser General Public License for more details. * You should have received a copy of the GNU Lesser General Public License * along with this program.  If not, see <http://www.gnu.org/licenses/lgpl.txt>. * ---------------------------------------------------------------------- * Class Name: Detect Arabic String Character Set * Original    Author(s): Khaled Al-Sham'aa <khaled@ar-php.org> * Purpose:    This class will return Arabic character set that used for *             a given Arabic string passing into this class, those available *             character sets that can be detected by this class includes *             the most popular three: Windows-1256, ISO 8859-6, and UTF-8. * ---------------------------------------------------------------------- * Detect Arabic String Character Set * The last step of the Information Retrieval process is to display the found * documents to the user. However, some difficulties might occur at that point. * English texts are usually written in the ASCII standard. Unlike the English * language, many languages have different character sets, and do not have one * standard. This plurality of standards causes problems, especially in a web * This PHP class will return Arabic character set that used for a given * Arabic string passing into this class, those available character sets that can * be detected by this class includes the most popular three: Windows-1256, *   include('./I18N/Arabic.php'); *   $obj = new I18N_Arabic('CharsetD'); *   $charset = $obj->getCharset($text); * @author    Khaled Al-Sham'aa <khaled@ar-php.org> * @copyright 2006-2016 Khaled Al-Sham'aa * @license   LGPL <http://www.gnu.org/licenses/lgpl.txt> * @link      http://www.ar-php.org * This PHP class detect Arabic string character set * @author    Khaled Al-Sham'aa <khaled@ar-php.org> * @copyright 2006-2016 Khaled Al-Sham'aa * @license   LGPL <http://www.gnu.org/licenses/lgpl.txt> * @link      http://www.ar-php.org     * Loads initialize values    public function __construct()     * Count number of hits for the most frequented letters in Arabic language     * (Alef, Lam and Yaa), then calculate association ratio with each of     * possible character set (UTF-8, Windows-1256 and ISO-8859-6)     * @param String $string Arabic string in unknown format     * @return Array Character set as key and string association ratio as value     * @author Khaled Al-Sham'aa <khaled@ar-php.org>    public function guess($string)        // The most frequent Arabic letters are Alef, Lam, and Yeh        $total = $charset['windows-1256'] +         $charset['windows-1256'] = round($charset['windows-1256'] * 100 / $total);        $charset['iso-8859-6']   = round($charset['iso-8859-6'] * 100 / $total);        $charset['utf-8']        = round($charset['utf-8'] * 100 / $total);     * Find the most possible character set for given Arabic string in unknown     * @param String $string Arabic string in unknown format     * @return String The most possible character set for given Arabic string in     *                 unknown format[utf-8|windows-1256|iso-8859-6]     * @author Khaled Al-Sham'aa <khaled@ar-php.org>        if (preg_match('/<meta .* charset=([^\"]+)".*>/sim', $string, $matches)) {            $charset = $this->guess($string); |