Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Handling a literal string with a quote

1 view
Skip to first unread message

Toni

unread,
Aug 27, 2009, 4:27:02 PM8/27/09
to
I have an application that inserts literal strings (raw strings) into an ASP template
that I can then work with. The problem is that I want to massage these strings in
ASP/VBScript and some of these strings contain quotes.

My ASP template can contain
myString = "$placeholder$"
where $placeholder$ is a raw string entered by the application.

This works fine if $placeholder$ doesn't contain any quotes, but if it does, the source
can for example look like this:
myString = "The Senator said "It's not my fault", then ran to his car"
which will, of course, generate an ASP error.

I have no control over the literal strings that may be entered, so I can't double-quote
them. How can I store these strings???

THANKS!!!


Evertjan.

unread,
Aug 27, 2009, 5:42:25 PM8/27/09
to

ASP/VBscript:

theString = replace(theString,"""","""""")

ASP/Jscript:

theString = theString.replace(/"/g,'""');


--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)

Toni

unread,
Aug 27, 2009, 6:12:19 PM8/27/09
to
"Evertjan." wrote...

> Toni wrote on 27 aug 2009 in microsoft.public.inetserver.asp.general:
>
>> I have an application that inserts literal strings (raw strings) into
>> an ASP template that I can then work with. The problem is that I want
>> to massage these strings in ASP/VBScript and some of these strings
>> contain quotes.
>>
>> My ASP template can contain
>> myString = "$placeholder$"
>> where $placeholder$ is a raw string entered by the application.
>>
>> This works fine if $placeholder$ doesn't contain any quotes, but if it
>> does, the source can for example look like this:
>> myString = "The Senator said "It's not my fault", then ran to
>> his car"
>> which will, of course, generate an ASP error.
>>
>> I have no control over the literal strings that may be entered, so I
>> can't double-quote them. How can I store these strings???
>
> ASP/VBscript:
>
> theString = replace(theString,"""","""""")

NO, your suggestion generates an error, because if I insert this in the template:
theString = replace($placeholder$,"""","""""")

the template will generate this SOURCE CODE:
theString = replace(The Senator said "It's not my fault,"""","""""")
which will obviously crash.


Bob Barrows

unread,
Aug 27, 2009, 7:03:30 PM8/27/09
to
Toni wrote:
> I have an application that inserts literal strings (raw strings) into
> an ASP template that I can then work with. The problem is that I want
> to massage these strings in ASP/VBScript and some of these strings
> contain quotes.
> My ASP template can contain
> myString = "$placeholder$"
> where $placeholder$ is a raw string entered by the application.

How? What does it do? Read the ASP file into memory and replace the
placeholders with text? Why can't it double the quotes as it does the
replacement?

>
> This works fine if $placeholder$ doesn't contain any quotes, but if
> it does, the source can for example look like this:
> myString = "The Senator said "It's not my fault", then ran to
> his car" which will, of course, generate an ASP error.
>
> I have no control over the literal strings that may be entered, so I
> can't double-quote them. How can I store these strings???
>

I don't understand where you are storing them.

I'm not clear about what's going on here. What is the application? Is it a
non-ASP application? Is it something whose source code you can modify?


--
Microsoft MVP - ASP/ASP.NET - 2004-2007
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"


Adrienne Boswell

unread,
Aug 28, 2009, 5:11:53 AM8/28/09
to
Gazing into my crystal ball I observed "Toni" <Ton...@yahoo.com> writing
in news:OjPmAT1J...@TK2MSFTNGP02.phx.gbl:

Since my crystal ball is in the shop, and you didn't tell us exactly
what the error was, I'm going to have to guess.

Is this error occuring when you are running a SQL query against that
data? If so, it is that single quote that is getting you into trouble.
What kind of database are you running the query against?

--
Adrienne Boswell at Home
Arbpen Web Site Design Services
http://www.cavalcade-of-coding.info
Please respond to the group so others can share

Toni

unread,
Aug 28, 2009, 9:14:59 AM8/28/09
to
"Bob Barrows" wrote...

> Toni wrote:
>> I have an application that inserts literal strings (raw strings) into
>> an ASP template that I can then work with. The problem is that I want
>> to massage these strings in ASP/VBScript and some of these strings
>> contain quotes.
>> My ASP template can contain
>> myString = "$placeholder$"
>> where $placeholder$ is a raw string entered by the application.
>
> How? What does it do? Read the ASP file into memory and replace the placeholders with
> text? Why can't it double the quotes as it does the replacement?
>
>>
>> This works fine if $placeholder$ doesn't contain any quotes, but if
>> it does, the source can for example look like this:
>> myString = "The Senator said "It's not my fault", then ran to
>> his car" which will, of course, generate an ASP error.
>>
>> I have no control over the literal strings that may be entered, so I
>> can't double-quote them. How can I store these strings???
>>
> I don't understand where you are storing them.
>
> I'm not clear about what's going on here. What is the application? Is it a non-ASP
> application? Is it something whose source code you can modify?

It's a non-ASP application. It's a Perl application that when you publish the articles
generates static HTML files containing article text. I can set the static file to be a
.ASP file so that I can process the data.

The data is not stored in a database, it's stored in a huge text file that is a
proprietary format. When the article is published, it's published by taking the data
from the text file and generating the static file with the text.

Yeah, I know, no database and very old school. But there are over 300 articles stored in
this text file whose format I can't figure out and the vendor is out of business and
can't help decode it. One purpose of this project is to transfer it all in an MS SQL
database. The stumbling block is the text strings contain quotes.

A thought - because of the quotes, from what I've read here I think that these strings
can't be properly processed conventionally. I'm considering modifying the templates so
that instead of generating .ASP files, I'll generate simple .TXT files, then use
FileSystemObject to read in the text.


Bob Barrows

unread,
Aug 28, 2009, 10:21:38 AM8/28/09
to
Toni wrote:
> It's a non-ASP application. It's a Perl application that when you
> publish the articles generates static HTML files containing article
> text. I can set the static file to be a .ASP file so that I can
> process the data.
> The data is not stored in a database, it's stored in a huge text file
> that is a proprietary format. When the article is published, it's
> published by taking the data from the text file and generating the
> static file with the text.
> Yeah, I know, no database and very old school. But there are over 300
> articles stored in this text file whose format I can't figure out and
> the vendor is out of business and can't help decode it. One purpose
> of this project is to transfer it all in an MS SQL database. The
> stumbling block is the text strings contain quotes.
> A thought - because of the quotes, from what I've read here I think
> that these strings can't be properly processed conventionally. I'm
> considering modifying the templates so that instead of generating
> .ASP files, I'll generate simple .TXT files, then use
> FileSystemObject to read in the text.

That sounds right. One thing though, unless you can preserve the original
locations of the placeholders after the php app does the substitutions, you
will find this to be a difficult task. Perhaps you can modify the template
to look like this?

myString = "{$placeholder$}"

so that after the substitution, it looks like this:

myString = "{The Senator said "It's not my fault", then ran to his
car}"

That will make it a little easier to find the strings to be escaped ... you
may even be able to build a regular expression to do the escaping.

Evertjan.

unread,
Aug 28, 2009, 10:39:26 AM8/28/09
to
Toni wrote on 28 aug 2009 in microsoft.public.inetserver.asp.general:

> "Evertjan." wrote...

>> ASP/VBscript:
>>
>> theString = replace(theString,"""","""""")
>
> NO, your suggestion generates an error, because if I insert this in
> the template:
> theString = replace($placeholder$,"""","""""")

That is not what I adviced,
I advised to write a variable there:

theString = replace(theString,"""","""""")

> the template will generate this SOURCE CODE:


> theString = replace(The Senator said "It's not my
> fault,"""","""""")
> which will obviously crash.

Is this templating stuff, $...$, something on topic here?

Try:

========================================
<% 'vbs assumed
response.write theString
%>

<script type='text/javascript' runat='server'>
var theString = '$placeholder$';


theString = theString.replace(/"/g,'""');

</script>
=======================================

Toni

unread,
Aug 28, 2009, 10:47:51 AM8/28/09
to
"Bob Barrows" wrote...
>...One thing though, unless you can preserve the original locations of the placeholders
>after the php app does the substitutions,

The app is a Perl CGI application, not PHP.

Bob Barrows

unread,
Aug 28, 2009, 10:57:30 AM8/28/09
to

Oops. My point still stands, I think.

Toni

unread,
Aug 28, 2009, 3:51:41 PM8/28/09
to

"Evertjan." <exjxw.ha...@interxnl.net> wrote in message
news:Xns9C75A971...@194.109.133.242...

No, it needs to be ASP. Please read the rest of the discussion.

Evertjan.

unread,
Aug 28, 2009, 6:32:08 PM8/28/09
to

THIS IS ASP AND ONLY ASP!!

Neil Gould

unread,
Aug 29, 2009, 10:31:13 AM8/29/09
to
After reading all of the responses so far, I agree with Bob Barrows that you
will need to parse and qualify the input strings as an independent operation
prior to insertion into your MS SQL database, since other formatting
considerations such as apostrophes and accents might also impact this
process, not just quotes. I don't see a "quick and dirty" one-step approach
that will be reliable. You should be able to parse the strings with VB or JS
with your ASP pages, but it will likely require a number of qualification
steps.

Best,

--
Neil Gould
Terra Tu Technical Publishing
www.TerraTu.com


Evertjan.

unread,
Aug 29, 2009, 10:44:17 AM8/29/09
to
Neil Gould wrote on 29 aug 2009 in
microsoft.public.inetserver.asp.general:

> Toni wrote:
>> I have an application that inserts literal strings (raw strings) into
>> an ASP template that I can then work with. The problem is that I want
>> to massage these strings in ASP/VBScript and some of these strings
>> contain quotes.
>>
>> My ASP template can contain
>> myString = "$placeholder$"
>> where $placeholder$ is a raw string entered by the application.
>>
>> This works fine if $placeholder$ doesn't contain any quotes, but if
>> it does, the source can for example look like this:
>> myString = "The Senator said "It's not my fault", then ran to
>> his car"
>> which will, of course, generate an ASP error.
>>
>> I have no control over the literal strings that may be entered, so I
>> can't double-quote them. How can I store these strings???
>>
>> THANKS!!!
>>
> After reading all of the responses so far, I agree with Bob Barrows
> that you will need to parse and qualify the input strings as an
> independent operation prior to insertion into your MS SQL database,
> since other formatting considerations such as apostrophes and accents
> might also impact this process, not just quotes.

Not if you use parametric insertion.

> I don't see a "quick
> and dirty" one-step approach that will be reliable. You should be able
> to parse the strings with VB or JS with your ASP pages, but it will
> likely require a number of qualification steps.

--

Toni

unread,
Nov 9, 2009, 11:59:09 AM11/9/09
to

"Evertjan." <exjxw.ha...@interxnl.net> wrote in message
news:Xns9C76572...@194.109.133.242...

> Toni wrote on 28 aug 2009 in microsoft.public.inetserver.asp.general:
>
>>> ========================================
>>> <% 'vbs assumed
>>> response.write theString
>>> %>
>>>
>>> <script type='text/javascript' runat='server'>
>>> var theString = '$placeholder$';
>>> theString = theString.replace(/"/g,'""');
>>> </script>
>>> =======================================
>>
>> No, it needs to be ASP. Please read the rest of the discussion.
>
> THIS IS ASP AND ONLY ASP!!

YOUR CAPS LOCK KEY IS STUCK!!


Evertjan.

unread,
Nov 9, 2009, 3:28:25 PM11/9/09
to
Toni wrote on 09 nov 2009 in microsoft.public.inetserver.asp.general:

>> Toni wrote on 28 aug 2009 in microsoft.public.inetserver.asp.general:
>>
>>>> ========================================
>>>> <% 'vbs assumed
>>>> response.write theString
>>>> %>
>>>>
>>>> <script type='text/javascript' runat='server'>
>>>> var theString = '$placeholder$';
>>>> theString = theString.replace(/"/g,'""');
>>>> </script>
>>>> =======================================
>>>
>>> No, it needs to be ASP. Please read the rest of the discussion.

The above is ASP and from August.

Please attribute quotes correctly.

Toni

unread,
Nov 10, 2009, 12:44:48 PM11/10/09
to

"Evertjan." wrote...

> Toni wrote on 09 nov 2009 in microsoft.public.inetserver.asp.general:
>
>>> Toni wrote on 28 aug 2009 in microsoft.public.inetserver.asp.general:
>>>
>>>>> ========================================
>>>>> <% 'vbs assumed
>>>>> response.write theString
>>>>> %>
>>>>>
>>>>> <script type='text/javascript' runat='server'>
>>>>> var theString = '$placeholder$';
>>>>> theString = theString.replace(/"/g,'""');
>>>>> </script>
>>>>> =======================================
>>>>
>>>> No, it needs to be ASP. Please read the rest of the discussion.
>
> The above is ASP and from August.
>
> Please attribute quotes correctly.

Please remember to include your previous text in your reply, or start a new subthread.


Evertjan.

unread,
Nov 13, 2009, 11:48:55 AM11/13/09
to

Don't write nonsense,
and inpolite to state that I should remember,
since it is a bout sparse quoting.

The skipped text wes inconsequential
to your error in understanding what is ASP and what isn't.

And waiting more than 2 months befor responding seems strange.

Toni

unread,
Jan 28, 2010, 4:08:05 PM1/28/10
to

"Evertjan." <exjxw.ha...@interxnl.net> wrote in message
news:Xns9CC2B539...@194.109.133.242...

"a bout sparse quoting"?

Don't write nonsense.

Evertjan.

unread,
Jan 30, 2010, 3:42:54 PM1/30/10
to
Toni wrote on 28 jan 2010 in microsoft.public.inetserver.asp.general:

> "Evertjan." <exjxw.ha...@interxnl.net> wrote in message
> news:Xns9CC2B539...@194.109.133.242...

>> And waiting more than 2 months befor responding seems strange.

[please do not quote signatures on usenet]

> "a bout sparse quoting"?

Boutly but slowly going where where many have gone before ?

> Don't write nonsense.

You must be the slowest man on Usenet, Toni,
now this being in response to my posting of 13 Nov 2009 16:48:55 GMT.

Mark McGinty

unread,
Feb 12, 2010, 7:59:00 PM2/12/10
to

"Evertjan." <exjxw.ha...@interxnl.net> wrote in message
news:Xns9D10DCE5...@194.109.133.242...

> Toni wrote on 28 jan 2010 in microsoft.public.inetserver.asp.general:
>
>> "Evertjan." <exjxw.ha...@interxnl.net> wrote in message
>> news:Xns9CC2B539...@194.109.133.242...
>
>>> And waiting more than 2 months befor responding seems strange.
>
> [please do not quote signatures on usenet]
>
>> "a bout sparse quoting"?
>
> Boutly but slowly going where where many have gone before ?
>
>> Don't write nonsense.
>
> You must be the slowest man on Usenet, Toni,
> now this being in response to my posting of 13 Nov 2009 16:48:55 GMT.

a.) "Toni" is usually a woman's name.
b.) When you offend someone with your usual, incessant drivel, how relevant
is the timeliness of response
c.) Many of us haven't got time to troll the Usenet looking for netiquite
fauxpas. (Too bad you aren't one of them.)


-Mark

Toni

unread,
Feb 24, 2010, 4:41:53 PM2/24/10
to

"Mark McGinty" <mmcg...@spamfromyou.com> wrote in message
news:uPik9eEr...@TK2MSFTNGP04.phx.gbl...

>
> "Evertjan." <exjxw.ha...@interxnl.net> wrote in message
> news:Xns9D10DCE5...@194.109.133.242...
>> Toni wrote on 28 jan 2010 in microsoft.public.inetserver.asp.general:
>>
>>> "Evertjan." <exjxw.ha...@interxnl.net> wrote in message
>>> news:Xns9CC2B539...@194.109.133.242...
>>
>>>> And waiting more than 2 months befor responding seems strange.
>>
>> [please do not quote signatures on usenet]
>>
>>> "a bout sparse quoting"?
>>
>> Boutly but slowly going where where many have gone before ?
>>
>>> Don't write nonsense.
>>
>> You must be the slowest man on Usenet, Toni,
>> now this being in response to my posting of 13 Nov 2009 16:48:55 GMT.
>
> a.) "Toni" is usually a woman's name.

Thanks, sweetie ;)


0 new messages