Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP General > remove the content in between tags

Reply
Thread Tools

remove the content in between tags

 
 
j1c
Guest
Posts: n/a
 
      03-15-2005
How can I remove the content in between tags? I have a page that has
several custom tags: <!--tag:1--> Content 1 <!--/tag:1--> <br>
<!--tag:2--> Content 2 <!--/tag:2--> <br> <!--tag:3--> Content 3
<!--/tag:3--> If I only wanted to see the contents of tag 2 for
example, how could I strip out 1 and 3?

 
Reply With Quote
 
 
 
 
j1c
Guest
Posts: n/a
 
      03-15-2005
Could you give an example?

 
Reply With Quote
 
 
 
 
McKirahan
Guest
Posts: n/a
 
      03-15-2005
"j1c" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) oups.com...
> How can I remove the content in between tags? I have a page that has
> several custom tags: <!--tag:1--> Content 1 <!--/tag:1--> <br>
> <!--tag:2--> Content 2 <!--/tag:2--> <br> <!--tag:3--> Content 3
> <!--/tag:3--> If I only wanted to see the contents of tag 2 for
> example, how could I strip out 1 and 3?
>


Can you change
<!--tag:1--> Content 1 <!--/tag:1-->

to
<span id="tag1"> Content 1 </span>

if so then will the following help? Watch for word-wrap.

<html>
<head>
<title>tags.htm</title>
<script type="text/javascript">
function tags(what) {
document.getElementById("tag"+what).style.visibili ty = "hidden";
}
</script>
</head>
<body>
<span id="tag1"> Content 1 </span>
<br>
<span id="tag2"> Content 2 </span>
<br>
<span id="tag3"> Content 3 </span>
<input type="button" value="Hide 1" onclick="tags(1)">
<input type="button" value="Hide 2" onclick="tags(2)">
<input type="button" value="Hide 3" onclick="tags(3)">
</body>
</html>



 
Reply With Quote
 
j1c
Guest
Posts: n/a
 
      03-15-2005
I used a regex to do it, however I need to do a 'reverse' loop?

So, if I have 10 section tags, but only want to see 1,5,7 how can I
loop through removing any matches that do not equal 1,5 or 7

 
Reply With Quote
 
j1c
Guest
Posts: n/a
 
      03-15-2005
yeah it is..

I am getting passed a large string of HTML that will be displayed on a
site or in an email. This string has up to 10 openning and closing tags
like:
<!--tag:1--> bla bla bla <!--/tag:1-->

I am also passed a recordset that has a delimitted list of params
(1,5,7)

Those params match tags that are to be displayed. The rest are to be
stripped.

My regex's are a little rusty, but can I not match everything that !=
the params?

This is what I've got on the go now:
Dim strpage
strpage = "a bunch of html..."
Dim sec
sec = Split(sections, ",")
For i = LBound(sec) To UBound(sec)
Set re1 = New RegExp
re1.IgnoreCase = True
re1.Global = False
re1.Pattern = "<!--tag:" & sec(i) & ">(.*)?<!--/tag:" & sec(i) & ">"
Set Matches = re1.Execute(strpage)

strpage = Replace(strpage, Matches.Item(0).SubMatches(0), "")

Next

 
Reply With Quote
 
larrybud2002@yahoo.com
Guest
Posts: n/a
 
      03-15-2005

j1c wrote:
> How can I remove the content in between tags? I have a page that has
> several custom tags: <!--tag:1--> Content 1 <!--/tag:1--> <br>
> <!--tag:2--> Content 2 <!--/tag:2--> <br> <!--tag:3--> Content 3
> <!--/tag:3--> If I only wanted to see the contents of tag 2 for
> example, how could I strip out 1 and 3?



Load it into frontpage 2003. It has more advanced editing features
such as this.

 
Reply With Quote
 
Chris Hohmann
Guest
Posts: n/a
 
      03-15-2005
"j1c" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) oups.com...
> How can I remove the content in between tags? I have a page that has
> several custom tags: <!--tag:1--> Content 1 <!--/tag:1--> <br>
> <!--tag:2--> Content 2 <!--/tag:2--> <br> <!--tag:3--> Content 3
> <!--/tag:3--> If I only wanted to see the contents of tag 2 for
> example, how could I strip out 1 and 3?
>


<%
Dim s, arr, re
s = _
"<!--tag:1-->Content 1<!--/tag:1--><br>" &_
"<!--tag:2-->Content 2<!--/tag:2--><br>" &_
"<!--tag:3-->Content 3<!--/tag:3--><br>" &_
"<!--tag:4-->Content 4<!--/tag:4--><br>" &_
"<!--tag:5-->Content 5<!--/tag:5--><br>" &_
"<!--tag:6-->Content 6<!--/tag:6--><br>" &_
"<!--tag:7-->Content 7<!--/tag:7--><br>" &_
"<!--tag:8-->Content 8<!--/tag:8--><br>" &_
"<!--tag:9-->Content 9<!--/tag:9--><br>" &_
"<!--tag:10-->Content 10<!--/tag:10-->"

arr = Array(1,5,7)

Set re = New RegExp
re.Global = True
re.IgnoreCase = True
re.Pattern = "(<!--tag?!(" & Join(arr,"|") &
")-)(\d+)-->).*(<!--/tag:\3-->)"

Response.Write re.Replace(s,"$1$4")
%>


 
Reply With Quote
 
Chris Hohmann
Guest
Posts: n/a
 
      03-15-2005

"Chris Hohmann" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> "j1c" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed) oups.com...
>> How can I remove the content in between tags? I have a page that has
>> several custom tags: <!--tag:1--> Content 1 <!--/tag:1--> <br>
>> <!--tag:2--> Content 2 <!--/tag:2--> <br> <!--tag:3--> Content 3
>> <!--/tag:3--> If I only wanted to see the contents of tag 2 for
>> example, how could I strip out 1 and 3?
>>

>
> <%
> Dim s, arr, re
> s = _
> "<!--tag:1-->Content 1<!--/tag:1--><br>" &_
> "<!--tag:2-->Content 2<!--/tag:2--><br>" &_
> "<!--tag:3-->Content 3<!--/tag:3--><br>" &_
> "<!--tag:4-->Content 4<!--/tag:4--><br>" &_
> "<!--tag:5-->Content 5<!--/tag:5--><br>" &_
> "<!--tag:6-->Content 6<!--/tag:6--><br>" &_
> "<!--tag:7-->Content 7<!--/tag:7--><br>" &_
> "<!--tag:8-->Content 8<!--/tag:8--><br>" &_
> "<!--tag:9-->Content 9<!--/tag:9--><br>" &_
> "<!--tag:10-->Content 10<!--/tag:10-->"
>
> arr = Array(1,5,7)
>
> Set re = New RegExp
> re.Global = True
> re.IgnoreCase = True
> re.Pattern = "(<!--tag?!(" & Join(arr,"|") &
> ")-)(\d+)-->).*(<!--/tag:\3-->)"
>
> Response.Write re.Replace(s,"$1$4")
> %>
>


You may want to throw in a non-greedy clause if it's possible that tags
would repeat. The new pattern would be

re.Pattern = "(<!--tag?!(" & Join(arr,"|") &
")-)(\d+)-->).*?(<!--/tag:\3-->)"

HTH
-Chris Hohmann


 
Reply With Quote
 
j1c
Guest
Posts: n/a
 
      03-16-2005
Thanks for the tips - it is working very well.

1 thing though - in the RegEx what would I need to change to allow
either:

<!--tag:01-->content<!--/tag:01-->

OR

<!--tag:01-->
content
<!--/tag:01-->

 
Reply With Quote
 
Chris Hohmann
Guest
Posts: n/a
 
      03-16-2005
"j1c" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) ups.com...
> Thanks for the tips - it is working very well.
>
> 1 thing though - in the RegEx what would I need to change to allow
> either:
>
> <!--tag:01-->content<!--/tag:01-->
>
> OR
>
> <!--tag:01-->
> content
> <!--/tag:01-->
>


<%
Dim s, arr, re
s = _
"<!--tag:1-->Content 1<!--/tag:1--><br>" &_
"<!--tag:2-->Content 2<!--/tag:2--><br>" &_
"<!--tag:3-->Content 3<!--/tag:3--><br>" &_
"<!--tag:4-->Content 4<!--/tag:4--><br>" &_
"<!--tag:5-->Content 5<!--/tag:5--><br>" &_
"<!--tag:6-->Content 6<!--/tag:6--><br>" &_
"<!--tag:7-->Content 7<!--/tag:7--><br>" &_
"<!--tag:8-->Content 8<!--/tag:8--><br>" &_
"<!--tag:9-->Content 9<!--/tag:9--><br>" &_
"<!--tag:10-->" & vbCRLF & "Content 10" & vbCRLF & "<!--/tag:10-->"

arr = Array(1,5,7)

Set re = New RegExp
re.Global = True
re.IgnoreCase = True
re.MultiLine=True
re.Pattern = "(<!--tag?!(" & Join(arr,"|") &
")-)(\d+)-->)(.|\n)*?(<!--/tag:\3-->)"

Response.Write re.Replace(s,"$1$5")
%>


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
remove space between <form> tags mcnewsxp HTML 6 11-25-2010 09:55 PM
remove extraenious information between XML tags Jarry XML 2 08-29-2006 11:56 AM
Error: Content is not allowed between the opening and closing tags for element Allan Ebdrup ASP .Net 0 01-26-2006 08:45 AM
replacing tags between tags beartiger@gmail.com Perl Misc 9 09-19-2005 02:32 AM
Remove content between tags Aaron Fleming ASP General 1 03-15-2005 02:36 PM



Advertisments