Loading ...
Sorry, an error occurred while loading the content.

Re: [Clip] Help with "escaping" double quotes from an input control

Expand Messages
  • hsavage
    ... sf88, First, some commands and functions have optional fields. ^$StrReplace, as far as I know, doesn t have optional fields. The last 2 fields are
    Message 1 of 6 , Sep 16, 2003
    • 0 Attachment
      spanishfreak88 wrote:

      > I believe the notetab
      > parser interprets the quotes within the string as string delimiters
      > instead of string literals. I can't seem to find a way to correct
      > this problem, though, since commands such as,
      >
      > ^!Set %QueryString%=^$StrReplace(^$DecToChar(34)$;%25;^%QueryString%)$
      >
      > return syntax errors (I have tried all the variations on the
      > above command that I could think of). When I set the debug
      > mode on, I could see the command is parsed, for example, as
      >
      > ^!Set %QueryString%=^$StrReplace(";%25;+"easter egg";)$
      >
      > I also attempted to perform a character-by-character analysis
      > of the string and convert all non-alphanumeric characters to
      > their appropriate url escape codes (" to %25, etc.) with the
      > same result.
      > Can anyone offer a suggestion?

      sf88,

      First, some commands and functions have optional fields. ^$StrReplace,
      as far as I know, doesn't have optional fields. The last 2 fields are
      missing.

      You may have omitted the fields just for email purposes because it was
      expedient. If not, one of the reasons the command is failing is
      probably because 2 fields are missing. The syntax should be fully
      utilized as in Help.

      ^$StrReplace("SubStr";"ReplaceStr";"Str";CaseSensitive;WholeWord)$

      The command in your email is,

      ^!Set %QueryString%=^$StrReplace(^$DecToChar(34)$;%25;^%QueryString%)$

      It should be closer to this,

      ^!Set
      %QueryString%=^$StrReplace("^$DecToChar(34)$";"%25";"^%QueryString%";0;0)$

      You might get by with this,

      ^!Set %QueryString%=^$StrReplace(""";"%25";"^%QueryString%";0;0)$

      The command is trying to remove quotes from Querystring and replace them
      with the html code for a quote, the elements being searched and replaced
      are, as far as the clip is concerned, just so much text.

      Quoting the search and replace elements delineates them as plain text.
      At least, that's the way I understand it.

      Missing or misplaced quotes can do odd things in a clip.

      hrs
    • spanishfreak88
      ... ^$StrReplace, ... are ... was ... You are partially correct; I did omit the last two options, but not intentionally. I do have both in my clip, but forgot
      Message 2 of 6 , Sep 16, 2003
      • 0 Attachment
        --- In ntb-clips@yahoogroups.com, hsavage <hsavage@p...> wrote:
        > First, some commands and functions have optional fields.
        ^$StrReplace,
        > as far as I know, doesn't have optional fields. The last 2 fields
        are
        > missing.
        >
        > You may have omitted the fields just for email purposes because it
        was
        > expedient.

        You are partially correct; I did omit the last two options, but not
        intentionally. I do have both in my clip, but forgot to type them in
        my post <:-I. My problem however does not appear to be a result of
        improper use of the command itself, but with the appearance of quotes
        within a string. In my example, +"easter eggs", (I think) notetab
        interprets the quotes as delimiters of the string easter egg and
        returns an error because the plus sign occurs outside of the quotes.
        What I need is some way to force notetab to accept the quotes as part
        of the string itself. BTW, the string is input via a wizard field as
        such: ^!Set %QueryString%=^?{Enter your search term here:=Keyword or
        phrase}. Therefore, if I type quotes in the text box as part of the
        search expression, they have to be converted into the url escape
        codes. Is it perhaps possible to achieve this with a regular
        expression? (It would really be helpful if notetab had an onkeypress
        sort of event handler...) Thanks in advance for any other responses.

        Craig Nicholson
      • Larry Thomas
        Hi Craig, ... The solution to your problem is to enclose all of the quotes in quotes. Example: change + eastereggs to + easter eggs . Regards, Larry
        Message 3 of 6 , Sep 16, 2003
        • 0 Attachment
          Hi Craig,

          At 03:47 AM 9/17/03 -0000, you wrote:
          >My problem however does not appear to be a result of
          >improper use of the command itself, but with the appearance of quotes
          >within a string. In my example, +"easter eggs", (I think) notetab
          >interprets the quotes as delimiters of the string easter egg and
          >returns an error because the plus sign occurs outside of the quotes.
          >What I need is some way to force notetab to accept the quotes as part
          >of the string itself. BTW, the string is input via a wizard field as
          >such: ^!Set %QueryString%=^?{Enter your search term here:=Keyword or
          >phrase}. Therefore, if I type quotes in the text box as part of the
          >search expression, they have to be converted into the url escape
          >codes. Is it perhaps possible to achieve this with a regular
          >expression? (It would really be helpful if notetab had an onkeypress
          >sort of event handler...) Thanks in advance for any other responses.

          The solution to your problem is to enclose all of the quotes in quotes.
          Example: change +"eastereggs" to "+"easter eggs"".

          Regards,

          Larry
          lrt@... e¿ê
        • hsavage
          ... Craig, I tried to give the example of quoting all the strings but I didn t know you were using a wizard to collect the input for the string. The example
          Message 4 of 6 , Sep 17, 2003
          • 0 Attachment
            spanishfreak88 wrote:

            >> wrote:
            >
            > You are partially correct; I did omit the last two options, but not
            > intentionally.
            >
            > What I need is some way to force notetab to accept the quotes as part
            > of the string itself.
            >
            > BTW, the string is input via a wizard field as
            > such: ^!Set %QueryString%=^?{Enter your search term here:=Keyword or
            > phrase}. Therefore, if I type quotes in the text box as part of the
            > search expression, they have to be converted into the url escape
            > codes. Is it perhaps possible to achieve this with a regular
            > expression? (It would really be helpful if notetab had an onkeypress
            > sort of event handler...) Thanks in advance for any other responses.
            >
            > Craig Nicholson

            Craig,

            I tried to give the example of quoting all the strings but I didn't know
            you were using a wizard to collect the input for the string. The
            example below should ensure the string, at creation, is surrounded by
            quotes.

            quote after first = quote after
            closing curly brace.
            ^!Set %QueryString%="^?{Enter your search term here:=Keyword or phrase}"

            Try this, see if it helps.

            hrs
          Your message has been successfully submitted and would be delivered to recipients shortly.