Handling a literal string with a quote

T

Toni

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!!!
 
E

Evertjan.

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,"""","""""")

ASP/Jscript:

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

Toni

Toni wrote on 27 aug 2009 in microsoft.public.inetserver.asp.general:


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.
 
B

Bob Barrows

Toni said:
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?
 
A

Adrienne Boswell

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!!!

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?
 
T

Toni

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?

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.
 
B

Bob Barrows

Toni said:
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.
 
E

Evertjan.

Toni wrote on 28 aug 2009 in microsoft.public.inetserver.asp.general:
...

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>
=======================================
 
T

Toni

...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.
 
T

Toni

Evertjan. said:
Toni wrote on 28 aug 2009 in microsoft.public.inetserver.asp.general:


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

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


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>
=======================================

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

Evertjan.

Toni wrote on 28 aug 2009 in microsoft.public.inetserver.asp.general:
No, it needs to be ASP. Please read the rest of the discussion.

THIS IS ASP AND ONLY ASP!!
 
N

Neil Gould

Toni said:
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. 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,
 
E

Evertjan.

Neil Gould wrote on 29 aug 2009 in
microsoft.public.inetserver.asp.general:
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.
 
E

Evertjan.

Toni wrote on 09 nov 2009 in microsoft.public.inetserver.asp.general:

The above is ASP and from August.

Please attribute quotes correctly.
 
T

Toni

Toni wrote on 09 nov 2009 in microsoft.public.inetserver.asp.general:


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.
 
E

Evertjan.

Toni wrote on 10 nov 2009 in microsoft.public.inetserver.asp.general:
...

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

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.
 
T

Toni

Evertjan. said:
Toni wrote on 10 nov 2009 in microsoft.public.inetserver.asp.general:


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.

"a bout sparse quoting"?

Don't write nonsense.
 
E

Evertjan.

Toni wrote on 28 jan 2010 in microsoft.public.inetserver.asp.general:

[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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,997
Messages
2,570,240
Members
46,830
Latest member
HeleneMull

Latest Threads

Top