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!!!
ASP/VBscript:
theString = replace(theString,"""","""""")
ASP/Jscript:
theString = theString.replace(/"/g,'""');
--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
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.
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"
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
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." 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>
=======================================
The app is a Perl CGI application, not PHP.
Oops. My point still stands, I think.
No, it needs to be ASP. Please read the rest of the discussion.
THIS IS ASP AND ONLY ASP!!
Best,
--
Neil Gould
Terra Tu Technical Publishing
www.TerraTu.com
> 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.
--
YOUR CAPS LOCK KEY IS STUCK!!
>> 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.
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.
> "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
Thanks, sweetie ;)