Source for file iso_8859_6.php

Documentation is available at iso_8859_6.php

  1. <?php
  2.  
  3. /**
  4.  * decode/iso8859-6.php
  5.  *
  6.  * This file contains iso-8859-6 decoding function that is needed to read
  7.  * iso-8859-6 encoded mails in non-iso-8859-6 locale.
  8.  *
  9.  * Original data taken from:
  10.  *  ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-6.TXT
  11.  *
  12.  *   Name:             ISO 8859-6:1999 to Unicode
  13.  *   Unicode version:  3.0
  14.  *   Table version:    1.0
  15.  *   Table format:     Format A
  16.  *   Date:             1999 July 27
  17.  *   Authors:          Ken Whistler <[email protected]>
  18.  *
  19.  * Original copyright:
  20.  *  Copyright (c) 1999 Unicode, Inc.  All Rights reserved.
  21.  *
  22.  *  This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
  23.  *  No claims are made as to fitness for any particular purpose.  No
  24.  *  warranties of any kind are expressed or implied.  The recipient
  25.  *  agrees to determine applicability of information provided.  If this
  26.  *  file has been provided on optical media by Unicode, Inc., the sole
  27.  *  remedy for any claim will be exchange of defective media within 90
  28.  *  days of receipt.
  29.  *
  30.  *  Unicode, Inc. hereby grants the right to freely use the information
  31.  *  supplied in this file in the creation of products supporting the
  32.  *  Unicode Standard, and to make copies of this file in any form for
  33.  *  internal or external distribution as long as this notice remains
  34.  *  attached.
  35.  *
  36.  * @copyright 2003-2020 The SquirrelMail Project Team
  37.  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  38.  * @version $Id: iso_8859_6.php 14840 2020-01-07 07:42:38Z pdontthink $
  39.  * @package squirrelmail
  40.  * @subpackage decode
  41.  */
  42.  
  43. /**
  44.  * Decode iso8859-6 strings
  45.  * @param string $string Encoded string
  46.  * @return string $string Decoded string
  47.  */
  48. function charset_decode_iso_8859_6 ($string{
  49.     // don't do decoding when there are no 8bit symbols
  50.     if (sq_is8bit($string,'iso-8859-6'))
  51.         return $string;
  52.  
  53.     $iso8859_6 array(
  54.         "\xA0" => '&#160;',
  55.         "\xA4" => '&#164;',
  56.         "\xAC" => '&#1548;',
  57.         "\xAD" => '&#173;',
  58.         "\xBB" => '&#1563;',
  59.         "\xBF" => '&#1567;',
  60.         "\xC1" => '&#1569;',
  61.         "\xC2" => '&#1570;',
  62.         "\xC3" => '&#1571;',
  63.         "\xC4" => '&#1572;',
  64.         "\xC5" => '&#1573;',
  65.         "\xC6" => '&#1574;',
  66.         "\xC7" => '&#1575;',
  67.         "\xC8" => '&#1576;',
  68.         "\xC9" => '&#1577;',
  69.         "\xCA" => '&#1578;',
  70.         "\xCB" => '&#1579;',
  71.         "\xCC" => '&#1580;',
  72.         "\xCD" => '&#1581;',
  73.         "\xCE" => '&#1582;',
  74.         "\xCF" => '&#1583;',
  75.         "\xD0" => '&#1584;',
  76.         "\xD1" => '&#1585;',
  77.         "\xD2" => '&#1586;',
  78.         "\xD3" => '&#1587;',
  79.         "\xD4" => '&#1588;',
  80.         "\xD5" => '&#1589;',
  81.         "\xD6" => '&#1590;',
  82.         "\xD7" => '&#1591;',
  83.         "\xD8" => '&#1592;',
  84.         "\xD9" => '&#1593;',
  85.         "\xDA" => '&#1594;',
  86.         "\xE0" => '&#1600;',
  87.         "\xE1" => '&#1601;',
  88.         "\xE2" => '&#1602;',
  89.         "\xE3" => '&#1603;',
  90.         "\xE4" => '&#1604;',
  91.         "\xE5" => '&#1605;',
  92.         "\xE6" => '&#1606;',
  93.         "\xE7" => '&#1607;',
  94.         "\xE8" => '&#1608;',
  95.         "\xE9" => '&#1609;',
  96.         "\xEA" => '&#1610;',
  97.         "\xEB" => '&#1611;',
  98.         "\xEC" => '&#1612;',
  99.         "\xED" => '&#1613;',
  100.         "\xEE" => '&#1614;',
  101.         "\xEF" => '&#1615;',
  102.         "\xF0" => '&#1616;',
  103.         "\xF1" => '&#1617;',
  104.         "\xF2" => '&#1618;'
  105.     );
  106.  
  107.     $string str_replace(array_keys($iso8859_6)array_values($iso8859_6)$string);
  108.  
  109.     return $string;
  110. }

Documentation generated on Mon, 13 Jan 2020 04:24:49 +0100 by phpDocumentor 1.4.3