UNPKG

phpjs

Version:

php.js offers community built php functions in javascript

38 lines (28 loc) 1.13 kB
function explode(delimiter, string, limit) { // From: http://phpjs.org/functions // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // * example 1: explode(' ', 'Kevin van Zonneveld'); // * returns 1: {0: 'Kevin', 1: 'van', 2: 'Zonneveld'} if (arguments.length < 2 || typeof delimiter === 'undefined' || typeof string === 'undefined') return null; if (delimiter === '' || delimiter === false || delimiter === null) return false; if (typeof delimiter === 'function' || typeof delimiter === 'object' || typeof string === 'function' || typeof string === 'object') { return { 0: '' }; } if (delimiter === true) delimiter = '1'; // Here we go... delimiter += ''; string += ''; var s = string.split(delimiter); if (typeof limit === 'undefined') return s; // Support for limit if (limit === 0) limit = 1; // Positive limit if (limit > 0) { if (limit >= s.length) return s; return s.slice(0, limit - 1).concat([s.slice(limit - 1).join(delimiter)]); } // Negative limit if (-limit >= s.length) return []; s.splice(s.length + limit); return s; }