Code Search for Developers
 
 
  

modifier.escape.php from The Geronimo Project at Krugle


Show modifier.escape.php syntax highlighted

<?php
/**
 * Smarty plugin
 * @package Smarty
 * @subpackage plugins
 */


/**
 * Smarty escape modifier plugin
 *
 * Type:     modifier<br>
 * Name:     escape<br>
 * Purpose:  Escape the string according to escapement type
 * @link http://smarty.php.net/manual/en/language.modifier.escape.php
 *          escape (Smarty online manual)
 * @param string
 * @param html|htmlall|url|quotes|hex|hexentity|javascript
 * @return string
 */
function smarty_modifier_escape($string, $esc_type = 'html')
{
    switch ($esc_type) {
        case 'html':
            return htmlspecialchars($string, ENT_QUOTES);

        case 'htmlall':
            return htmlentities($string, ENT_QUOTES);

        case 'url':
            return rawurlencode($string);

        case 'quotes':
            // escape unescaped single quotes
            return preg_replace("%(?<!\\\\)'%", "\\'", $string);

        case 'hex':
            // escape every character into hex
            $return = '';
            for ($x=0; $x < strlen($string); $x++) {
                $return .= '%' . bin2hex($string[$x]);
            }
            return $return;
            
        case 'hexentity':
            $return = '';
            for ($x=0; $x < strlen($string); $x++) {
                $return .= '&#x' . bin2hex($string[$x]) . ';';
            }
            return $return;

        case 'decentity':
            $return = '';
            for ($x=0; $x < strlen($string); $x++) {
                $return .= '&#' . ord($string[$x]) . ';';
            }
            return $return;

        case 'javascript':
            // escape quotes and backslashes, newlines, etc.
            return strtr($string, array('\\'=>'\\\\',"'"=>"\\'",'"'=>'\\"',"\r"=>'\\r',"\n"=>'\\n','</'=>'<\/'));
            
        case 'mail':
            // safe way to display e-mail address on a web page
            return str_replace(array('@', '.'),array(' [AT] ', ' [DOT] '), $string);
            
        case 'nonstd':
           // escape non-standard chars, such as ms document quotes
           $_res = '';
           for($_i = 0, $_len = strlen($string); $_i < $_len; $_i++) {
               $_ord = ord($string{$_i});
               // non-standard char, escape it
               if($_ord >= 126){
                   $_res .= '&#' . $_ord . ';';
               }
               else {
                   $_res .= $string{$_i};
               }
           }
           return $_res;

        default:
            return $string;
    }
}

/* vim: set expandtab: */

?>




See more files for this project here

The Geronimo Project

The Geronimo project concists of two software :\n- Geronimo Hoshigo : a playable graphical user interface to play Go\n- Geronimo Margo : a artificial intelligence program which plays Go

Project homepage: http://sourceforge.net/projects/geronimo
Programming language(s): Java,Pascal,Perl,PHP
License: gpl2

  block.textformat.php
  compiler.assign.php
  function.assign_debug_info.php
  function.config_load.php
  function.counter.php
  function.cycle.php
  function.debug.php
  function.eval.php
  function.fetch.php
  function.html_checkboxes.php
  function.html_image.php
  function.html_options.php
  function.html_radios.php
  function.html_select_date.php
  function.html_select_time.php
  function.html_table.php
  function.mailto.php
  function.math.php
  function.popup.php
  function.popup_init.php
  modifier.capitalize.php
  modifier.cat.php
  modifier.count_characters.php
  modifier.count_paragraphs.php
  modifier.count_sentences.php
  modifier.count_words.php
  modifier.date_format.php
  modifier.debug_print_var.php
  modifier.default.php
  modifier.escape.php
  modifier.indent.php
  modifier.lower.php
  modifier.nl2br.php
  modifier.regex_replace.php
  modifier.replace.php
  modifier.spacify.php
  modifier.string_format.php
  modifier.strip.php
  modifier.strip_tags.php
  modifier.truncate.php
  modifier.upper.php
  modifier.wordwrap.php
  outputfilter.trimwhitespace.php
  shared.escape_special_chars.php
  shared.make_timestamp.php