note 71572 added to function.preg-match-all

From: Date: Wed, 06 Dec 2006 14:20:42 +0000
Subject: note 71572 added to function.preg-match-all
Groups: php.notes 
Request: Send a blank email to php-notes+get-120337@lists.php.net to get a copy of this message
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_all($ps_pattern, $ps_subject, &$pa_matches, $pn_flags = PREG_PATTERN_ORDER, $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_all($ps_pattern, $ps_subject, $pa_matches, $pn_flags, $pn_offset); if ($ret && ($pn_flags & PREG_OFFSET_CAPTURE)) foreach($pa_matches as &$ha_match) foreach($ha_match as &$ha_match) $ha_match[1] = mb_strlen(substr($ps_subject, 0, $ha_match[1]), $ps_encoding); // // (code is independent of PREG_PATTER_ORDER / PREG_SET_ORDER) return $ret; } ?> ---- Server IP: 83.138.144.80 Probable Submitter: 82.152.212.233 ---- Manual Page -- http://www.php.net/manual/en/function.preg-match-all.php Edit -- https://master.php.net/note/edit/71572 Del: integrated -- https://master.php.net/note/delete/71572/integrated Del: useless -- https://master.php.net/note/delete/71572/useless Del: bad code -- https://master.php.net/note/delete/71572/bad+code Del: spam -- https://master.php.net/note/delete/71572/spam Del: non-english -- https://master.php.net/note/delete/71572/non-english Del: in docs -- https://master.php.net/note/delete/71572/in+docs Del: other reasons-- https://master.php.net/note/delete/71572 Reject -- https://master.php.net/note/reject/71572 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#120337) next »