[ Index ]

krapohl.info

title

Body

[close]

/pnincludes/Smarty/plugins/ -> modifier.escape.php (source)

   1  <?php
   2  
   3  /*
   4   * Smarty plugin
   5   * ------------------------------------------------------------
   6   * Type:     modifier
   7   * Name:     escape
   8   * Purpose:  Escape the string according to escapement type
   9   * ------------------------------------------------------------
  10   */
  11  function smarty_modifier_escape($string, $esc_type = 'html')
  12  {
  13      switch ($esc_type) {
  14          case 'html':
  15              return htmlspecialchars($string, ENT_QUOTES);
  16  
  17          case 'htmlall':
  18              return htmlentities($string, ENT_QUOTES);
  19  
  20          case 'url':
  21              return urlencode($string);
  22  
  23          case 'quotes':
  24              // escape unescaped single quotes
  25              return preg_replace("%(?<!\\\\)'%", "\\'", $string);
  26  
  27          case 'hex':
  28              // escape every character into hex
  29              for ($x=0; $x < strlen($string); $x++) {
  30                  $return .= '%' . bin2hex($string[$x]);
  31              }
  32              return $return;
  33              
  34          case 'hexentity':
  35              for ($x=0; $x < strlen($string); $x++) {
  36                  $return .= '&#x' . bin2hex($string[$x]) . ';';
  37              }
  38              return $return;
  39  
  40          default:
  41              return $string;
  42      }
  43  }
  44  
  45  /* vim: set expandtab: */
  46  
  47  ?>


Generated: Wed Feb 16 22:40:07 2005 Cross-referenced by PHPXref 0.6