Solved

How to replace whole string text on runtime in ASP

Posted on 2011-09-08
3
195 Views
Last Modified: 2012-05-12
Hi Experts,

I have got below ASP code.
    <%
    Dim body
    body = "<h3>Arabian Test Adventures Tours &amp; Safaris</h3>" 
    body = body &		"<table class=""dataTable"" cellspacing=""0"" cellpadding=""0"" width=""100%"">"
    body = body &			"<tbody>"
    body = body &				"<tr>"
    body = body &					"<th width=""40%"">Tour</th>"
    body = body &					"<th>Days</th>"
    body = body &					"<th>Adult*</th>"
    body = body &					"<th>Child*</th>"
    body = body &					"<th width=""20%"">AM/PM**</th>"
    body = body &				"</tr>"
    body = body &				"<tr>"
    body = body &					"<td><a title=""Dubai City Tour"" href=""tcm:232-203762""><strong>City of Merchants</strong></a>***"
    body = body &	"<br/>"
    body = body &	"Dubai City Tour</td>"
    body = body &					"<td>Daily</td>"
    body = body &					"<td><span class=""convert"">USD 50</span>@</td>"
    body = body &					"<td><span class=""convert"">USD 999</span>@</td>"
    body = body &					"<td>AM &amp; PM</td>"
    body = body &				"</tr>"
    body = body &			"</tbody>"
    body = body &		"</table>"
    Response.Write body
        'Do While InStr(body, "<span class=""convert""") > 0
    		body = left(body, InStr(body, "<span class=""convert"">")-1) & right(body, len(body) - InStr(body, "</span>@")-7)
    	'Loop
    Response.Write body
    %>

Open in new window


In above ASP code I have to check every **SPAN** having **class=""convert""** and will replace all the `<span class=""convert"">USD 50</span>@` with  **USD 50**, so in above code my both

    "<td><span class=""convert"">USD 50</span>@</td>"
    "<td><span class=""convert"">USD 999</span>@</td>" 

Open in new window


will be replaced like below

    "<td>USD 50</td>"
    "<td>USD 999</td>"

Open in new window


I am trying to do above things using below code concept, but not able to do that

    'Do While InStr(body, "<span class=""convert""") > 0
    		body = left(body, InStr(body, "<span class=""convert"">")-1) & right(body, len(body) - InStr(body, "</span>@")-7)
    	'Loop

Open in new window


Please suggest
0
Comment
Question by:tia_kamakshi
3 Comments
 
LVL 10

Expert Comment

by:CSIPComputing
ID: 36502108
I think you need to use the Replace function, not the "while instr..."

Consider:

body=Replace(body, "<span class=""convert"">", "")
body=Replace(body, "</span>@", "")
0
 
LVL 6

Accepted Solution

by:
matija_ earned 500 total points
ID: 36502316
Try with Regular Expressions function:

<%
Dim body
body = "<h3>Arabian Test Adventures Tours &amp; Safaris</h3>" 
body = body &		"<table class=""dataTable"" cellspacing=""0"" cellpadding=""0"" width=""100%"">"
body = body &			"<tbody>"
body = body &				"<tr>"
body = body &					"<th width=""40%"">Tour</th>"
body = body &					"<th>Days</th>"
body = body &					"<th>Adult*</th>"
body = body &					"<th>Child*</th>"
body = body &					"<th width=""20%"">AM/PM**</th>"
body = body &				"</tr>"
body = body &				"<tr>"
body = body &					"<td><a title=""Dubai City Tour"" href=""tcm:232-203762""><strong>City of Merchants</strong></a>***"
body = body &	"<br/>"
body = body &	"Dubai City Tour</td>"
body = body &					"<td>Daily</td>"
body = body &					"<td><span class=""convert"">USD 50</span>@</td>"
body = body &					"<td><span class=""convert"">USD 999</span>@</td>"
body = body &					"<td>AM &amp; PM</td>"
body = body &				"</tr>"
body = body &			"</tbody>"
body = body &		"</table>"

Response.Write Replacing(body)

Function Swap(x, y, z)
	If IsNull(x) then Exit Function

	Dim RegEx
	Set RegEx = New RegExp
	With RegEx
		.Global = True
		.IgnoreCase = True
		.Pattern = y
	End with
	Swap = RegEx.Replace(x, z)
	Set RegEx = Nothing
End Function

Function Replacing(x)
	x = Swap(x, "<span class=""convert"">(.*?)</span>", "$1")
	Replacing = x
End Function
%>

Open in new window

0
 
LVL 29

Expert Comment

by:Badotz
ID: 36507062
A simple REPLACE command is so much, well, simpler:
body = Replace(Replace(body, "<span class=""convert"">", ""), "</span>@", "")

Open in new window

0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Have you ever needed to get an ASP script to wait for a while? I have, just to let something else happen. Or in my case, to allow other stuff to happen while I was murdering my MySQL database with an update. The Original Issue This was written…
I was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference: Let's make the introductions... Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interact…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.

776 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