UNPKG

phpjs

Version:

php.js offers community built php functions in javascript

94 lines (80 loc) 2.7 kB
--- layout: page title: "JavaScript strrpos function" comments: true sharing: true footer: true alias: - /functions/view/strrpos:549 - /functions/view/strrpos - /functions/view/549 - /functions/strrpos:549 - /functions/549 --- <!-- Generated by Rakefile:build --> A JavaScript equivalent of PHP's strrpos {% codeblock strings/strrpos.js lang:js https://raw.github.com/kvz/phpjs/master/functions/strings/strrpos.js raw on github %} function strrpos (haystack, needle, offset) { // From: http://phpjs.org/functions // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + bugfixed by: Onno Marsman // + input by: saulius // + bugfixed by: Brett Zamir (http://brett-zamir.me) // * example 1: strrpos('Kevin van Zonneveld', 'e'); // * returns 1: 16 // * example 2: strrpos('somepage.com', '.', false); // * returns 2: 8 // * example 3: strrpos('baa', 'a', 3); // * returns 3: false // * example 4: strrpos('baa', 'a', 2); // * returns 4: 2 var i = -1; if (offset) { i = (haystack + '').slice(offset).lastIndexOf(needle); // strrpos' offset indicates starting point of range till end, // while lastIndexOf's optional 2nd argument indicates ending point of range from the beginning if (i !== -1) { i += offset; } } else { i = (haystack + '').lastIndexOf(needle); } return i >= 0 ? i : false; } {% endcodeblock %} - [Raw function on GitHub](https://github.com/kvz/phpjs/blob/master/functions/strings/strrpos.js) Please note that php.js uses JavaScript objects as substitutes for PHP arrays, they are the closest match to this hashtable-like data structure. Please also note that php.js offers community built functions and goes by the [McDonald's Theory](https://medium.com/what-i-learned-building/9216e1c9da7d). We'll put online functions that are far from perfect, in the hopes to spark better contributions. Do you have one? Then please just: - [Edit on GitHub](https://github.com/kvz/phpjs/edit/master/functions/strings/strrpos.js) ### Example 1 This code {% codeblock lang:js example %} strrpos('Kevin van Zonneveld', 'e'); {% endcodeblock %} Should return {% codeblock lang:js returns %} 16 {% endcodeblock %} ### Example 2 This code {% codeblock lang:js example %} strrpos('somepage.com', '.', false); {% endcodeblock %} Should return {% codeblock lang:js returns %} 8 {% endcodeblock %} ### Example 3 This code {% codeblock lang:js example %} strrpos('baa', 'a', 3); {% endcodeblock %} Should return {% codeblock lang:js returns %} false {% endcodeblock %} ### Other PHP functions in the strings extension {% render_partial _includes/custom/strings.html %}