使用 Coldfusion 正则表达式修复 URL
Fixing the URL with Coldfusion regex
我需要编辑一些 URL 数据,但我遇到了一些问题,url 即将出现:
<cfset myurl = "http:/example.com/0.asp?rpttype=298&companyQ=148&companyQ=150&companyQ=176&companyQ=186&companyQ=195&companyQ=105&companyQ=136&companyQ=126&productQ=1072&productQ=1042&productQ=1043stateQ=&sortBy=1&sortOrder=1">
<cfset reURL = queryStringDeleteVar("companyQ",myurl)>
<cfset reURL = queryStringDeleteVar("productQ",reURL)>
<cfset reURL = reURL & "&companyQ=">
<cfset listData = ''>
<cfloop list="#getCompanyID#" index="k">
<cfset listData = ListChangeDelims(ListPrepend(listData,"%27+or+q2.comp+%3D%27=" & k),'',',')>
</cfloop>
<cfdump var="#reURL##listData#" label="URL Rewritten">
重写为:
http://example.com/0.asp?rpttype=298&stateQ=&sortBy=1&sortOrder=1&companyQ=%27+or+q2.comp+%3D%27=186%27+or+q2.comp+%3D%27=176%27+or+q2.comp+%3D%27=150%27+or+q2.comp+%3D%27=148
但它需要像这样
http://example.com/0.asp?rpttype=298&stateQ=&sortBy=1&sortOrder=1&companyQ=186%27+or+q2.comp+%3D%27=176%27+or+q2.comp+%3D%27=150%27+or+q2.comp+%3D%27=148
我遗漏了一些东西,
请指导
这个
公司Q=%27+or+q2.comp+%3D%27=186
只需要第一个点赞
公司Q=186
只有第一个,其余保持原样:
值 186 是动态的
我想这应该对你有帮助。
<cfset myurl = "http:/example.com/0.asp?rpttype=298&companyQ=148&companyQ=150&companyQ=176&companyQ=186&companyQ=195&companyQ=105&companyQ=136&companyQ=126&productQ=1072&productQ=1042&productQ=1043stateQ=&sortBy=1&sortOrder=1">
<cfset reURL = queryStringDeleteVar("companyQ",myurl)>
<cfset reURL = queryStringDeleteVar("productQ",reURL)>
<cfset reURL = reURL & "&companyQ=#listFirst(getCompanyID)#">
<cfset getCompanyID = listDeleteAt(getCompanyID,1)>
<cfset listData = ''>
<cfloop list="#getCompanyID#" index="k">
<cfset listData =ListPrepend(listData,"%27+or+q2.comp+%3D%27=" & k)>
</cfloop>
<cfset listData = listChangeDelims(listData,"") />
<cfdump var="#reURL##listData#" label="URL Rewritten">
我需要编辑一些 URL 数据,但我遇到了一些问题,url 即将出现:
<cfset myurl = "http:/example.com/0.asp?rpttype=298&companyQ=148&companyQ=150&companyQ=176&companyQ=186&companyQ=195&companyQ=105&companyQ=136&companyQ=126&productQ=1072&productQ=1042&productQ=1043stateQ=&sortBy=1&sortOrder=1">
<cfset reURL = queryStringDeleteVar("companyQ",myurl)>
<cfset reURL = queryStringDeleteVar("productQ",reURL)>
<cfset reURL = reURL & "&companyQ=">
<cfset listData = ''>
<cfloop list="#getCompanyID#" index="k">
<cfset listData = ListChangeDelims(ListPrepend(listData,"%27+or+q2.comp+%3D%27=" & k),'',',')>
</cfloop>
<cfdump var="#reURL##listData#" label="URL Rewritten">
重写为:
http://example.com/0.asp?rpttype=298&stateQ=&sortBy=1&sortOrder=1&companyQ=%27+or+q2.comp+%3D%27=186%27+or+q2.comp+%3D%27=176%27+or+q2.comp+%3D%27=150%27+or+q2.comp+%3D%27=148
但它需要像这样
http://example.com/0.asp?rpttype=298&stateQ=&sortBy=1&sortOrder=1&companyQ=186%27+or+q2.comp+%3D%27=176%27+or+q2.comp+%3D%27=150%27+or+q2.comp+%3D%27=148
我遗漏了一些东西,
请指导
这个
公司Q=%27+or+q2.comp+%3D%27=186
只需要第一个点赞
公司Q=186
只有第一个,其余保持原样:
值 186 是动态的
我想这应该对你有帮助。
<cfset myurl = "http:/example.com/0.asp?rpttype=298&companyQ=148&companyQ=150&companyQ=176&companyQ=186&companyQ=195&companyQ=105&companyQ=136&companyQ=126&productQ=1072&productQ=1042&productQ=1043stateQ=&sortBy=1&sortOrder=1">
<cfset reURL = queryStringDeleteVar("companyQ",myurl)>
<cfset reURL = queryStringDeleteVar("productQ",reURL)>
<cfset reURL = reURL & "&companyQ=#listFirst(getCompanyID)#">
<cfset getCompanyID = listDeleteAt(getCompanyID,1)>
<cfset listData = ''>
<cfloop list="#getCompanyID#" index="k">
<cfset listData =ListPrepend(listData,"%27+or+q2.comp+%3D%27=" & k)>
</cfloop>
<cfset listData = listChangeDelims(listData,"") />
<cfdump var="#reURL##listData#" label="URL Rewritten">