javascript

Note that the following is not finished yet, so is just a beginning!

// PHP-JS Dependencies: str_split, trim
var PREG_SPLIT_NO_EMPTY = 1;
var PREG_SPLIT_DELIM_CAPTURE = 2;
var PREG_SPLIT_OFFSET_CAPTURE = 4;
function preg_split (pattern, subject, limit, flags) {
	// Should also allow for multiple flags
	
	pattern = trim(pattern); // Trim to make sure first item is a pattern delimiter
	var lio = trim(pattern.lastIndexOf(pattern[0]));
	var pflags = '';
	if (lio > 1) {
		pattern = pattern.substring(1, lio-1);
		pflags = str_split(pattern.substring(lio));
		pflags = pflags.replace(/ |\n/g, '');
		for (var i=0; i < pflags.length; i++) {
			pflags[i];
		}
		// i, m, s, x, e, a, d, s, u, x, j, u
	}
	var regexp_pattern = new RegExp(pattern);
	if (flags & PREG_SPLIT_DELIM_CAPTURE) { // This is assumed in JavaScript "split"; may need to use exec
	}
	if (flags & PREG_SPLIT_OFFSET_CAPTURE) {
		
	}
	
	subject = subject.split(regexp_pattern, limit);
	if (flags & PREG_SPLIT_NO_EMPTY) {
		subject2 = [];
		for (i in subject) {
			if (subject[i] != '') {
				subject2[subject2.length++] = subject[i];
			}
		}
		subject = subject2;
	}
	return subject.split(regexp_pattern, limit);	
}