note 71571 deleted from function.preg-match by felipe

From: Date: Sun, 23 Mar 2008 22:54:48 +0000
Subject: note 71571 deleted from function.preg-match by felipe
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-137369@lists.php.net to get a copy of this message
Note Submitter: chuckie ---- This is a function to convert byte offsets into (UTF-8) character offsets (this is reagardless of whether you use /u modifier: <?php function mb_preg_match($ps_pattern, $ps_subject, &$pa_matches, $pn_flags = NULL, $pn_offset = 0, $ps_encoding = NULL) { // WARNING! - All this function does is to correct offsets, nothing else: // if (is_null($ps_encoding)) $ps_encoding = mb_internal_encoding(); $pn_offset = strlen(mb_substr($ps_subject, 0, $pn_offset, $ps_encoding)); $ret = preg_match($ps_pattern, $ps_subject, $pa_matches, $pn_flags, $pn_offset); if ($ret && ($pn_flags & PREG_OFFSET_CAPTURE)) foreach($pa_matches as &$ha_subpattern) $ha_subpattern[1] = mb_strlen(substr($ps_subject, 0, $ha_subpattern[1]), $ps_encoding); return $ret; } ?>

« previous php.notes (#137369) next »