anchor.diff:      case AStr[i] of
         '#':
           begin
  +          //don't allow word-char before
  +          if (i>1) and IsCharWord(AStr[i-1], cDefaultNonWordChars) then Continue;
  +
             //find #rgb, #rrggbb
             if IsCharHexDigit(AStr[i+1]) then
             begin
  
positive.code:         end;
        'r':
          begin
            //find rgb(...), rgba(...)
            if (AStr[i+1]='g') and
              (AStr[i+2]='b') and
              ((i=1) or not IsCharWord(AStr[i-1], cDefaultNonWordChars)) //word boundary
            then
            begin
              NColor:= TATHtmlColorParserW.ParseFunctionRGB(AStr, i, NLen);
  
negative.code:         end;
        'h':
          begin
            //don't allow word-char before
            if (i>1) and IsCharWord(AStr[i-1], cDefaultNonWordChars) then Continue;
  
            //find hsl(...), hsla(...)
            if (AStr[i+1]='s') and
              (AStr[i+2]='l')
            then
            begin
              NColor:= TATHtmlColorParserW.ParseFunctionHSL(AStr, i, NLen);
  