Can you not do {min,max} in the lookbehind regex? ie, instead of this:

        $entity = '(?<!&' 
            . '[a-zA-Z0-9]{2}' . '|' . '#[0-9]{2}' . '|' 
            . '[a-zA-Z0-9]{3}' . '|' . '#[0-9]{3}' . '|' 
            . '[a-zA-Z0-9]{4}' . '|' . '#[0-9]{4}' . '|' 
            . '[a-zA-Z0-9]{5}' . '|' 
            . '[a-zA-Z0-9]{6}' . '|' 
            . '[a-zA-Z0-9]{7}' 
            . ')'; 

Do this:
         $entity = '(?<!&' 
            . '[a-zA-Z0-9]{2,7}' . '|' . '#[0-9]{2,4}'
            . ')'; 

Or is that the assertion format restriction you mention in the comment?

-Brad

_______________________________________________
List info: http://lists.roundcube.net/dev/
BT/8f4f07cd

Reply via email to