Exemple #1
0
/**
* UTF-8 aware replacement for trim()
* Note: you only need to use this if you are supplying the charlist
* optional arg and it contains UTF-8 characters. Otherwise trim will
* work normally on a UTF-8 string
* @author Andreas Gohr <*****@*****.**>
* @see http://www.php.net/trim
* @see http://dev.splitbrain.org/view/darcs/dokuwiki/inc/utf8.php
* @return string
* @package utf8
* @subpackage strings
*/
function utf8_trim($str, $charlist = FALSE)
{
    if ($charlist === FALSE) {
        return trim($str);
    }
    return utf8_ltrim(utf8_rtrim($str, $charlist), $charlist);
}
 function to_string()
 {
     $uri = $this->get_uri();
     $uri->remove_query_items();
     $result = array();
     $query = '';
     $exported = $this->export_attributes();
     //removing files data
     if (isset($exported['file'])) {
         unset($exported['file']);
     }
     complex_array::to_flat_array($exported, $result);
     foreach ($result as $key => $value) {
         $query .= $key . '=' . $value . '&';
     }
     $query = utf8_rtrim($query, '&');
     return utf8_rtrim($uri->to_string() . '?' . $query, '?');
 }
Exemple #3
0
     if (strlen($title) < 1) {
         message($lang_common['Bad request']);
     }
     $close = isset($_POST['close']) ? intval($_POST['close']) : '2';
     $stick = isset($_POST['stick']) ? intval($_POST['stick']) : '2';
     $archive = isset($_POST['archive']) ? intval($_POST['archive']) : '2';
     $move = isset($_POST['forum']) ? intval($_POST['forum']) : '0';
     $leave_redirect = isset($_POST['redirect']) ? intval($_POST['redirect']) : '0';
     $insert = array('title' => $title, 'close' => $close, 'stick' => $stick, 'archive' => $archive, 'move' => $move, 'leave_redirect' => $leave_redirect, 'reply_message' => $message, 'add_start' => $add_start, 'add_end' => $add_end, 'send_email' => $send_email, 'increment_posts' => $increment);
     $db->insert('multi_moderation', $insert);
     redirect(panther_link($panther_url['admin_moderate']), $lang_admin_moderate['added redirect']);
 } elseif ($action == 'edit' && $id > '0') {
     $message = isset($_POST['message']) ? panther_trim($_POST['message']) : null;
     $title = isset($_POST['title']) ? panther_trim($_POST['title']) : null;
     $add_start = isset($_POST['add_start']) ? utf8_ltrim($_POST['add_start']) : null;
     $add_end = isset($_POST['add_end']) ? utf8_rtrim($_POST['add_end']) : null;
     if (strlen($title) > 50) {
         message($lang_admin_moderate['title too long']);
     }
     if (strlen($add_start) > 50 || strlen($add_end) > 50) {
         message($lang_admin_moderate['addition too long']);
     }
     if (strlen($title) < 1) {
         message($lang_common['Bad request']);
     }
     $close = isset($_POST['close']) ? intval($_POST['close']) : '2';
     $stick = isset($_POST['stick']) ? intval($_POST['stick']) : '2';
     $archive = isset($_POST['archive']) ? intval($_POST['archive']) : '2';
     $move = isset($_POST['forum']) ? intval($_POST['forum']) : '0';
     $leave_redirect = isset($_POST['redirect']) ? intval($_POST['redirect']) : '0';
     $reply = isset($_POST['reply']) ? intval($_POST['reply']) : '0';
Exemple #4
0
 /**
  * UTF-8 aware replacement for rtrim()
  * Strip whitespace (or other characters) from the end of a string
  * You only need to use this if you are supplying the charlist
  * optional arg and it contains UTF-8 characters. Otherwise rtrim will
  * work normally on a UTF-8 string
  *
  * @param   string  $str       The string to be trimmed
  * @param   string  $charlist  The optional charlist of additional characters to trim
  *
  * @return  string  The trimmed string
  *
  * @see     http://www.php.net/rtrim
  * @since   11.1
  */
 public static function rtrim($str, $charlist = false)
 {
     if (empty($charlist) && $charlist !== false) {
         return $str;
     }
     jimport('phputf8.trim');
     if ($charlist === false) {
         return utf8_rtrim($str);
     } else {
         return utf8_rtrim($str, $charlist);
     }
 }
Exemple #5
0
 /**
  * UTF-8 aware replacement for trim()
  *
  * Strip whitespace (or other characters) from the beginning and end of a string
  * Note: you only need to use this if you are supplying the charlist
  * optional arg and it contains UTF-8 characters. Otherwise trim will
  * work normally on a UTF-8 string
  *
  * @param string the string to be trimmed
  * @param string the optional charlist of additional characters to trim
  * @return string the trimmed string
  * @see http://www.php.net/trim
  */
 public static function trim($str, $charlist = FALSE)
 {
     if ($charlist === FALSE) {
         return trim($str);
     }
     return KHelperString::ltrim(utf8_rtrim($str, $charlist), $charlist);
 }
Exemple #6
0
 /**
  * UTF-8 aware replacement for rtrim()
  * Strip whitespace (or other characters) from the end of a string
  * Note: you only need to use this if you are supplying the charlist
  * optional arg and it contains UTF-8 characters. Otherwise rtrim will
  * work normally on a UTF-8 string
  *
  * @static
  * @access public
  * @param string the string to be trimmed
  * @param string the optional charlist of additional characters to trim
  * @return string the trimmed string
  * @see http://www.php.net/rtrim
  */
 public static function rtrim($str, $charlist = FALSE)
 {
     jimport('phputf8.trim');
     if ($charlist === FALSE) {
         return utf8_rtrim($str);
     } else {
         return utf8_rtrim($str, $charlist);
     }
 }
 /**
  * UTF-8 aware replacement for rtrim()
  * Strip whitespace (or other characters) from the end of a string
  * You only need to use this if you are supplying the charlist
  * optional arg and it contains UTF-8 characters. Otherwise rtrim will
  * work normally on a UTF-8 string
  *
  * @param   string  $str       The string to be trimmed
  * @param   string  $charlist  The optional charlist of additional characters to trim
  *
  * @return  string  The trimmed string
  *
  * @see     http://www.php.net/rtrim
  * @since   2.0
  */
 public static function rtrim($str, $charlist = null)
 {
     if (empty($charlist) && $charlist !== null) {
         return $str;
     }
     if (!function_exists('utf8_rtrim')) {
         require_once __DIR__ . '/phputf8/trim.php';
     }
     if ($charlist === null) {
         return utf8_rtrim($str);
     }
     return utf8_rtrim($str, $charlist);
 }
 /**
  * UTF-8 aware replacement for rtrim()
  * Strip whitespace (or other characters) from the end of a string
  * You only need to use this if you are supplying the charlist
  * optional arg and it contains UTF-8 characters. Otherwise rtrim will
  * work normally on a UTF-8 string
  *
  * @param   string  $str       The string to be trimmed
  * @param   string  $charlist  The optional charlist of additional characters to trim
  *
  * @return  string  The trimmed string
  *
  * @see     http://www.php.net/rtrim
  * @since   1.0
  */
 public static function rtrim($str, $charlist = false)
 {
     if (empty($charlist) && $charlist !== false) {
         return $str;
     }
     require_once __DIR__ . '/phputf8/trim.php';
     if ($charlist === false) {
         return utf8_rtrim($str);
     }
     return utf8_rtrim($str, $charlist);
 }
/**
 * utf8_trim( )
 * 
 * Strip whitespace or other characters from beginning or end of a UTF-8 string
 * @since 1.3
 * 
 * @param    string $string The string to be trimmed
 * @param    string $chrs Optional characters to be stripped
 * @return   string The trimmed string
 */
function utf8_trim($string = '', $chrs = '')
{
    $string = utf8_ltrim($string, $chrs);
    return utf8_rtrim($string, $chrs);
}
/**
 * Unicode aware replacement for trim()
 *
 * @author Andreas Gohr <*****@*****.**>
 * @see    trim()
 * @return string
 */
function utf8_trim($str, $charlist = '')
{
    if ($charlist == '') {
        return trim($str);
    }
    return utf8_ltrim(utf8_rtrim($str));
}
 /**
  * UTF-8 aware replacement for rtrim()
  *
  * Strip whitespace (or other characters) from the end of a string. You only need to use this if you are supplying the charlist
  * optional arg and it contains UTF-8 characters. Otherwise rtrim will work normally on a UTF-8 string.
  *
  * @param   string  $str       The string to be trimmed
  * @param   string  $charlist  The optional charlist of additional characters to trim
  *
  * @return  string  The trimmed string
  *
  * @see     http://www.php.net/rtrim
  * @since   1.3.0
  */
 public static function rtrim($str, $charlist = false)
 {
     if (empty($charlist) && $charlist !== false) {
         return $str;
     }
     if ($charlist === false) {
         return utf8_rtrim($str);
     }
     return utf8_rtrim($str, $charlist);
 }
Exemple #12
0
 function testLinefeedMask()
 {
     $str = "Iñtërnâtiônàlizætiø\nø";
     $trimmed = "Iñtërnâtiônàlizæti";
     $this->assertEqual(utf8_rtrim($str, "ø\n"), $trimmed);
 }
Exemple #13
0
/**
 * UTF-8 aware replacement for trim().
 *
 * @author Andreas Gohr <*****@*****.**>
 * @see http://www.php.net/trim
 * @see http://dev.splitbrain.org/view/darcs/dokuwiki/inc/utf8.php
 * @param string $str
 * @param boolean $charlist
 * @return string
 */
function utf8_trim($str, $charlist = '')
{
    if (empty($charlist)) {
        return trim($str);
    }
    return utf8_ltrim(utf8_rtrim($str, $charlist), $charlist);
}
Exemple #14
0
/**
 * Crop string to maxlen with &hellip; (default tail) at the end if needed.
 *
 * If $format is not "raw", we make sure to not cut in the middle of an
 * HTML entity, so that strmaxlen('1&amp;2', 3, NULL, 'formvalue') will not
 * become/stay '1&amp;&hellip;'.
 *
 * @param string
 * @param int Maximum length
 * @param string Tail to use, when string gets cropped. Its length gets
 *               substracted from the total length (with HTML entities
 *               being decoded). Default is "&hellip;" (HTML entity)
 * @param string Format, see {@link format_to_output()}
 * @param boolean Crop at whitespace, if possible?
 *        (any word split at the end will get its head removed)
 * @return string
 */
function strmaxlen($str, $maxlen = 50, $tail = NULL, $format = 'raw', $cut_at_whitespace = false)
{
    if (is_null($tail)) {
        $tail = '&hellip;';
    }
    $str = utf8_rtrim($str);
    if (utf8_strlen($str) > $maxlen) {
        // Replace all HTML entities by a single char. html_entity_decode for example
        // would not handle &hellip;.
        $tail_for_length = preg_replace('~&\\w+?;~', '.', $tail);
        $tail_length = utf8_strlen(html_entity_decode($tail_for_length));
        $len = $maxlen - $tail_length;
        if ($len < 1) {
            // special case; $tail length is >= $maxlen
            $len = 0;
        }
        $str_cropped = utf8_substr($str, 0, $len);
        if ($format != 'raw') {
            // if the format isn't raw we make sure that we do not cut in the middle of an HTML entity
            $maxlen_entity = 7;
            # "&amp;" is 5, min 3!
            $str_inspect = utf8_substr($str_cropped, 1 - $maxlen_entity);
            $pos_amp = utf8_strpos($str_inspect, '&');
            if ($pos_amp !== false) {
                // there's an ampersand at the end of the cropped string
                $look_until = $pos_amp;
                $str_cropped_len = utf8_strlen($str_cropped);
                if ($str_cropped_len < $maxlen_entity) {
                    // we have to look at least for the length of an entity
                    $look_until += $maxlen_entity - $str_cropped_len;
                }
                if (strpos(utf8_substr($str, $len, $look_until), ';') !== false) {
                    $str_cropped = utf8_substr($str, 0, $len - utf8_strlen($str_inspect) + $pos_amp);
                }
            }
        }
        if ($cut_at_whitespace) {
            // Get the first character being cut off. Note: we can't use $str[index] in case of utf8 strings!
            $first_cut_off_char = utf8_substr($str, utf8_strlen($str_cropped), 1);
            if (!ctype_space($first_cut_off_char)) {
                // first character being cut off is not whitespace
                // Get the chars as an array from the cropped string to be able to get chars by position
                $str_cropped_chars = preg_split('//u', $str_cropped, -1, PREG_SPLIT_NO_EMPTY);
                $i = utf8_strlen($str_cropped);
                while ($i && isset($str_cropped_chars[--$i]) && !ctype_space($str_cropped_chars[$i])) {
                }
                if ($i) {
                    $str_cropped = utf8_substr($str_cropped, 0, $i);
                }
            }
        }
        $str = format_to_output(utf8_rtrim($str_cropped), $format);
        $str .= $tail;
        return $str;
    } else {
        return format_to_output($str, $format);
    }
}
 function utf8_rtrim($str, $charlist = '')
 {
     return utf8_rtrim($str, $charlist);
 }