Parsing URL

Posted on 2008-06-24
Medium Priority
Last Modified: 2013-12-24
I have a URL with variables that i need to parse,

I have the following loop to strip out the sn's,

<cfset SNs = "">
<cfloop index="i" from="1" to="3">
      <cfif IsDefined("url.sn"&i)>
            <cfset intSN = Evaluate("url.sn"&i)>
            <cfif intSN NEQ "">
                  <cfquery name="GetCSN" datasource="#request.dataSource#">
                        select * from CReg where ID = #intID#
                  <cfloop query="GetChildSN">
                        <cfset SNs = ListAppend(SNs, intSN)>

I looked at using the left, right and mid functions but I wanted to see if there is a better way to strip the names (sn#) from the variables. For example sn1=alast, this should be firstname1 =a and lastname1 =last

Question by:usky1
  • 2
  • 2

Assisted Solution

adobe116 earned 300 total points
ID: 21862514
I'm not sure I should be responding because I don't have the exact answer, but I know where you can find it. I have Ben Forta's "Teach yourself Regular Expressions" It's a tiny book and costs hardly anything... It's a real easy read and I usually read it in one sitting.  Problem is that I never use regular expressions and over a period of a few months it seeps right out of my overloaded brain.

If I found it I could probably find what you needed and I recommend it highly...

Essentially, I think you want to replace 'everything up to '&sn1=' with a blank string, and then you want to find each instance of "&snNUMBER=CharactersUpTo(&orEOL) and replace the &SN#= with a comma.

That would create your list.

The documentation for RegEx in CF is on http://livedocs.adobe.com/coldfusion/8/htmldocs/regexp_01.html

and I'm sure if I dig around I could find a url stripper function that does this... but it's where you would start.  Sorry I can't help more.  But if you find yourself doing this often, invest in that book... I'm going to look for it now actually because it really annoys me that I don't know the answer to your question.  Best of luck though


Author Comment

ID: 21865336
Thanks for the book suggestion and link. I will look into both of those to see if I can figure this out. I'm going to leave this open so hopefully I will get some additional help.
LVL 29

Accepted Solution

Pravin Asar earned 1700 total points
ID: 21875166
One of way to process the querystring and convert to array

Try the following snippet

<cfset myarray=ListToArray(#CGI.QUERY_STRING#, "&")>

<cfdump var="#myarray#" expand="yes">

<cfloop index="ax" from="1" to="#ArrayLen(myarray)#">
    <cfset variable=#ListToArray(#myarray[ax]#,"=")#>
    <cfdump var="#variable#" expand="yes">

LVL 29

Expert Comment

by:Pravin Asar
ID: 21876464
Here is another apporach, which processes query_string and build a CF Query Structure.

   myquery = QueryNew("name,value");
   myarray=ListToArray("#CGI.QUERY_STRING#", "&");
   for (ax=1; ax LTE ArrayLen(myarray); ax=ax+1) {
               QuerySetCell(myquery, "name", myvar[1], ax);  
            if (ArrayLen(myvar) GT 1) {
               QuerySetCell(myquery, "value", myvar[2], ax);
            else {
               QuerySetCell(myquery, "value", "", ax);
<cfdump var="#myquery#" expand="yes">

Author Closing Comment

ID: 31470312
pravinasar: That worked great. thanks for your help.

Featured Post

Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

When it comes to security, close monitoring is a must. According to WhiteHat Security annual report, a substantial number of all web applications are vulnerable always. Monitis offers a new product - fully-featured Website security monitoring and pr…
The Super Bowl is just days away. Millions of advertising dollars will be spent in just a few hours to drive people to websites around the globe. Optimizing your site in anticipation of a big event like this (and the traffic surges that follow) will…
The video provides a quick and easy steps to migrate MBOX file to well known Outlook PST and Office 365. Besides this, it also supports and migrates more than 20 email clients of MBOX which include AppleMail, Opera, Thunderbird and SeaMonkey effortl…
When you have multiple client accounts to manage, it often feels like there aren’t enough hours in the day. With too many applications to juggle, you can’t focus on your clients, much less your growing to-do list. But that doesn’t have to be the cas…
Suggested Courses

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question