More strict rules on anchor character input

only alpha numeric chars and dash and underscore can be used in anchor names, and that they don't start with a number (because anchors are used as HTML ID attributes).
I'm extremely cautious of using these character classes. PHP supposedly uses perl regex, and in perl, I believe the w can match utf8 also, but from what I've read in PHP, it does not. Character classes may also be subject to change at any time, so I'm more a fan of explicitly defining the options.