eg: http://www.dell.com/support/support.cfm
then I need returned following things:
domain : http://www.dell.com
folder : /support/support.cfm
Also a ccheck if somebody types just http://www.dell.com/ or http://www.dell.com then the value for domain should return as
domain: http://www.dell.com
folder: / or blank
Please let me know if anybody have a way to do this.
Thanks in advance for all the help
Let me know if it works.
<cfscript>
function splitUrl(inUrl) {
var s = inUrl;
var refUrl = "";
var refQS = "";
var refAnchor = "";
var st = structNew();
var i = find("?", s);
if (i) {
refUrl = left(s, i-1);
refQS = mid(s, i+1, 99999);
i = find("##", refQS);
if (i) {
refAnchor = mid(refQS, i+1, 99999);
refQS = left(refQS, i-1);
} else {
refAnchor = "";
}
} else {
i = find("##", s);
if (i) {
refUrl = left(s, i-1);
refAnchor = mid(s, i+1, 99999);
} else {
refUrl = s;
}
}
if (find("?", s) and Find("/",inUrl,9)) {
st.path = Mid(inUrl,Find("/",inUrl,9),find("?", s)-Find("/",inUrl,9));
} else if (find("?", s)) {
st.path = "/";
} else {
st.path = RemoveChars(inUrl,1,Find("/",inUrl,9));
}
st.domain = Left(refUrl,find("/",inUrl,9)-1);
st.url = refUrl;
st.queryString = refQS;
st.anchor = refAnchor;
return st;
}
</cfscript>
<cfset URL_to_split = "http://www.mysite.com/hello/index.cfm?x=1&b=2##a">
<cfset st = splitUrl(URL_to_split)>
<cfdump var="#st#">
-nathan strutz
http://www.dopefly.com/
<cfset st = splitUrl("http://www.macromedia.com/software/flash/special/buynow.html")>
<cfdump var="#st#">
And I get the results as following
ANCHOR
QUERYSTRING
URL http://www.macromedia.com/software/flash/special/buynow.html
And I am looking for This.
QUERYSTRING /software/flash/special/buynow.html
URL http://www.macromedia.com
Thanks
<cfset urlstr = "http://www.macromedia.com/software/flash/special/buynow.html">
<cfif find("://",urlstr)>
<cfset urlstr = replacenocase(urlstr,"http://","")>
</cfif>
<cfset domain = "http://" & listfirst(urlstr,"/")>
<cfset querystring = "/" & listrest(urlstr,"/")>
<cfoutput>
#domain# <br>
#querystring#
</cfoutput>
Dean Chalk