- if ( $wgExperimentalHtmlIds ) {
- # For reverse compatibility, provide an id that's
- # HTML4-compatible, like we used to.
- # It may be worth noting, academically, that it's possible for
- # the legacy anchor to conflict with a non-legacy headline
- # anchor on the page. In this case likely the "correct" thing
- # would be to either drop the legacy anchors or make sure
- # they're numbered first. However, this would require people
- # to type in section names like "abc_.D7.93.D7.90.D7.A4"
- # manually, so let's not bother worrying about it.
- $legacyHeadline = Sanitizer::escapeId( $safeHeadline,
- [ 'noninitial', 'legacy' ] );
- $safeHeadline = Sanitizer::escapeId( $safeHeadline );
-
- if ( $legacyHeadline == $safeHeadline ) {
- # No reason to have both (in fact, we can't)
- $legacyHeadline = false;
- }
- } else {
- $legacyHeadline = false;
- $safeHeadline = Sanitizer::escapeId( $safeHeadline,
- 'noninitial' );
+ $fallbackHeadline = Sanitizer::escapeIdForAttribute( $safeHeadline, Sanitizer::ID_FALLBACK );
+ $linkAnchor = Sanitizer::escapeIdForLink( $safeHeadline );
+ $safeHeadline = Sanitizer::escapeIdForAttribute( $safeHeadline, Sanitizer::ID_PRIMARY );
+ if ( $fallbackHeadline === $safeHeadline ) {
+ # No reason to have both (in fact, we can't)
+ $fallbackHeadline = false;