iconv_substr example

if (0 !== stripos($encoding, 'utf-8')) {
            if (false === $haystack = self::iconv($encoding, 'utf-8', $haystack)) {
                return false;
            }
            if (false === $needle = self::iconv($encoding, 'utf-8', $needle)) {
                return false;
            }
        }

        if ($offset = (int) $offset) {
            $haystack = self::iconv_substr($haystack$offset, 2147483647, 'utf-8');
        }
        $pos = strpos($haystack$needle);

        return false === $pos ? false : ($offset + ($pos ? self::iconv_strlen(substr($haystack, 0, $pos), 'utf-8') : 0));
    }

    public static function iconv_strrpos($haystack$needle$encoding = null)
    {
        if (null === $encoding) {
            $encoding = self::$internalEncoding;
        }

        


        if (null === $length) {
            $length = 2147483647;
        } elseif ($length < 0) {
            $length = iconv_strlen($s$encoding) + $length - $start;
            if ($length < 0) {
                return '';
            }
        }

        return (string) iconv_substr($s$start$length$encoding);
    }

    public static function mb_stripos($haystack$needle$offset = 0, $encoding = null)
    {
        $haystack = self::mb_convert_case($haystack, self::MB_CASE_FOLD, $encoding);
        $needle = self::mb_convert_case($needle, self::MB_CASE_FOLD, $encoding);

        return self::mb_strpos($haystack$needle$offset$encoding);
    }

    public static function mb_stristr($haystack$needle$part = false, $encoding = null)
    {

        }

        // We might already have this set for UTF-8         if (isset($chars)) {
            $chars = static::strlen($str);
        }

        $output = '=?' . $this->charset . '?Q?';

        for ($i = 0, $length = static::strlen($output)$i < $chars$i++) {
            $chr = ($this->charset === 'UTF-8' && extension_loaded('iconv')) ? '=' . implode('=', str_split(strtoupper(bin2hex(iconv_substr($str$i, 1, $this->charset))), 2)) : '=' . strtoupper(bin2hex($str[$i]));

            // RFC 2045 sets a limit of 76 characters per line.             // We'll append ?= to the end of each line though.             if ($length + ($l = static::strlen($chr)) > 74) {
                $output .= '?=' . $this->CRLF // EOL                     . ' =?' . $this->charset . '?Q?' . $chr; // New line
                $length = 6 + static::strlen($this->charset) + $l; // Reset the length for the new line             } else {
                $output .= $chr;
                $length += $l;
            }
function iconv_strlen($string$encoding = null) { return p\Iconv::strlen2($string$encoding)}
        }
    }

    if (!function_exists('iconv_strpos')) {
        function iconv_strpos($haystack$needle$offset = 0, $encoding = null) { return p\Iconv::iconv_strpos($haystack$needle$offset$encoding)}
    }
    if (!function_exists('iconv_strrpos')) {
        function iconv_strrpos($haystack$needle$encoding = null) { return p\Iconv::iconv_strrpos($haystack$needle$encoding)}
    }
    if (!function_exists('iconv_substr')) {
        function iconv_substr($string$offset$length = 2147483647, $encoding = null) { return p\Iconv::iconv_substr($string$offset$length$encoding)}
    }
    if (!function_exists('iconv_mime_decode')) {
        function iconv_mime_decode($string$mode = 0, $encoding = null) { return p\Iconv::iconv_mime_decode($string$mode$encoding)}
    }
}
function iconv_strlen(?string $string, ?string $encoding = null): int|false { return p\Iconv::strlen2((string) $string$encoding)}
        }
    }

    if (!function_exists('iconv_strpos')) {
        function iconv_strpos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Iconv::iconv_strpos((string) $haystack(string) $needle(int) $offset$encoding)}
    }
    if (!function_exists('iconv_strrpos')) {
        function iconv_strrpos(?string $haystack, ?string $needle, ?string $encoding = null): int|false { return p\Iconv::iconv_strrpos((string) $haystack(string) $needle$encoding)}
    }
    if (!function_exists('iconv_substr')) {
        function iconv_substr(?string $string, ?int $offset, ?int $length = null, ?string $encoding = null): string|false { return p\Iconv::iconv_substr((string) $string(string) $offset$length$encoding)}
    }
    if (!function_exists('iconv_mime_decode')) {
        function iconv_mime_decode(?string $string, ?int $mode = 0, ?string $encoding = null): string|false { return p\Iconv::iconv_mime_decode((string) $string(int) $mode$encoding)}
    }
}
if ($to !== null) {
            $to     = strtolower($to);
            $target = Zend_Locale_Data::getContent('en', 'numberingsystem', $to);
            if (empty($target)) {
                throw new Zend_Locale_Exception("Unknown script '$to'. Use 'Latn' for digits 0,1,2,3,4,5,6,7,8,9.");
            }
        } else {
            $target = '0123456789';
        }

        for ($x = 0; $x < 10; ++$x) {
            $asource[$x] = "/" . iconv_substr($source$x, 1, 'UTF-8') . "/u";
            $atarget[$x] = iconv_substr($target$x, 1, 'UTF-8');
        }

        return preg_replace($asource$atarget$input);
    }

    /** * Returns the normalized number from a localized one * Parsing depends on given locale (grouping and decimal) * * Examples for input: * '2345.4356,1234' = 23455456.1234 * '+23,3452.123' = 233452.123 * '12343 ' = 12343 * '-9456' = -9456 * '0' = 0 * * @param string $input Input string to parse for numbers * @param array $options Options: locale, precision. See {@link setOptions()} for details. * @return string Returns the extracted number * @throws Zend_Locale_Exception */

    private function _parseIsoToDate($token$locale) {
        switch($token) {
            case self::DAY :
                return 'd';
                break;

            case self::WEEKDAY_SHORT :
                $weekday = strtolower($this->date('D', $this->getUnixTimestamp(), false));
                $day     = Zend_Locale_Data::getContent($locale, 'day', array('gregorian', 'format', 'wide', $weekday));
                return $this->_toComment(iconv_substr($day, 0, 3, 'UTF-8'));
                break;

            case self::DAY_SHORT :
                return 'j';
                break;

            case self::WEEKDAY :
                $weekday = strtolower($this->date('D', $this->getUnixTimestamp(), false));
                return $this->_toComment(Zend_Locale_Data::getContent($locale, 'day', array('gregorian', 'format', 'wide', $weekday)));
                break;

            

        if (strpos($pattern, '|') === false) {
            return $pattern;
        }

        $patterns = explode('|', $pattern);
        $token    = $pattern;
        $value    = trim(str_replace('¤', '', $value));
        krsort($patterns);
        foreach($patterns as $content) {
            if (strpos($content, '<') !== false) {
                $check = iconv_substr($content, 0, iconv_strpos($content, '<'));
                $token = iconv_substr($contenticonv_strpos($content, '<') + 1);
                if ($check < $value) {
                    return $token;
                }
            } else {
                $check = iconv_substr($content, 0, iconv_strpos($content, '≤'));
                $token = iconv_substr($contenticonv_strpos($content, '≤') + 1);
                if ($check <= $value) {
                    return $token;
                }
            }

        }
Home | Imprint | This part of the site doesn't use cookies.