I wrote it ;)
The offset allows you to start at the position of the previous match, otherwise you will match the same thing three times. Its written that way as the previous method (using preg_match_all) could be very inefficient (slow).
The correct replacement will be
if (!preg_match('#'.$re.'#iu',utf8_substr($text,$offset),$match,PREG_OFFSET_CAPTURE)) break;
libpcre is the regex library used by php to provide the pcre functions (preg_*).
Can you update your php?
4.3.10 was a significant update fixing several critical security issues - http://uk.php.net/releases/4_3_10.php
Andi, is it worth including version dependent code to get around this problem and keep DW's php requirement at 4.3.x?