I haven't seen this error from anyone else, but Drupal logged the following when I tried to clone an FCKEditor role:
preg_match_all() [function.preg-match-all]: Compilation failed: unrecognized character after (?< at offset 4 in /.../sites/all/modules/fckeditor/fckeditor.admin.inc on line 253.
We're running PHP 5.1.6. I've never used preg_match_all, but I did a little searching and it looked like a parameter name (?) was missing from the $pat definition, so I thought I'd pass it along.
I rewrote
$pat = "/^(?<name>.*?)_(?<n>[0-9]*)$/"
to
$pat = "/^(?P<name>.*?)_(?P<n>[0-9]*)$/"
and that seemed to fix the problem
Comments
Comment #1
Jorrit CreditAttribution: Jorrit commentedAccording to the PHP manual, you're right. I just need to know why it works for me without the change. Could you check what version of the PCRE library is compiled in your PHP version? Just create a PHP Info page by putting the following code in a page and visiting it, and look for "PCRE Library Version":
Comment #2
ealtman CreditAttribution: ealtman commentedFor us, it's PCRE Library Version 6.6 06-Feb-2006
Comment #3
Jorrit CreditAttribution: Jorrit commentedAccording to the PCRE changelog (http://www.pcre.org/changelog.txt), the syntax we use is only compatible with PCRE 7.0 and up. Before that version, only the syntax you suggest is valid. I'll update the code.
Comment #4
Jorrit CreditAttribution: Jorrit commentedFixed in CVS
Comment #5
ealtman CreditAttribution: ealtman commentedThanks!