@Immutable
    public static Memory strripos(Environment env, TraceInfo trace, String haystack, Memory needleV, Memory offsetV) {
        String needle;

        if (needleV.isString()) {
            needle = needleV.toString();
        } else {
            needle = String.valueOf((char) needleV.toInteger());
        }

        int offset;

        if (offsetV == null) {
            offset = haystack.length();
        } else {
            offset = offsetV.toInteger();

            if (haystack.length() < offset) {
                env.warning(trace, "strripos(): offset cannot exceed string length");
                return Memory.FALSE;
            }
        }

        haystack = haystack.toLowerCase();
        needle = needle.toLowerCase();

        int pos = haystack.lastIndexOf(needle, offset);

        if (pos < 0) {
            return Memory.FALSE;
        } else {
            return LongMemory.valueOf(pos);
        }
    }
Parses the cslashes bitmap returning an actual bitmap.

@param charset the bitmap string

@return the actual bitmap
exts/jphp-zend-ext/src/main/java/org/develnext/jphp/zend/ext/standard/StringFunctions.java