Wow, this is more than I expected. Thank you.
These functions seem to be the ticket for me. I will play with them and try to understand them and report back.
Thanks again,
Tom
On Feb 12, 2004, at 12:07 PM, Mark Brownell wrote:
Thomas,
Here are three functions for pulling tags out: What you might need is one of my Parallel Numerical Lineal Parsers:
-- get the title -- put your HTML into tZap -- put PNLPgetElement("<title>", "</title>", tZap) into theTitle
-- get the paragraphs in two steps -- put getPNLPelements("<p>", "</p>", tZap) into theParagraphArray -- put theParagraphArray[1] into parOne -- put theParagraphArray[2] into parTwo
You can even get the attributes from this:-- <BODY TEXT="#000000" BGCOLOR="#F8D0B8" LINK="#999999" VLINK="#000000" ALINK="#FF0000">
-- put PNLPgetElement("<body", "</body>", tZap) into theBody -- put PNLPgetAttribute("TEXT", theBody) into theTEXTAttribute -- put PNLPgetAttribute("BGCOLOR", theBody) into theBGCOLORAttribute
function PNLPgetElement tStTag, tEdTag, stngToSch put empty into zapped put the number of chars in tStTag into dChars put offset(tStTag,stngToSch) into tNum1 put offset(tEdTag,stngToSch) into tNum2 if tNum1 < 1 then return "error" exit PNLPgetElement end if if tNum2 < 1 then return "error" exit PNLPgetElement end if put char (tNum1 + dChars) to (tNum2 - 1) of stngToSch into zapped return zapped end PNLPgetElement
-- put getPNLPelements("<record>", "</record>", tZap) into theArray
function getPNLPelements tStartTag, tEndTag, StringToSearch
put empty into tArray
put 0 into tStart1
put 0 into tStart2
put 1 into tElementNum
put the number of chars in tStartTag into dChars
repeat
put offset(tStartTag,StringToSearch,tStart1) into tNum1
put (tNum1 + tStart1) into tStart1
if tNum1 < 1 then exit repeat
put offset(tEndTag,StringToSearch,tStart2) into tNum2
put (tNum2 + tStart2) into tStart2
if tNum2 < 1 then exit repeat
--if tNum2 < tNum1 then exit repeat
put char (tStart1 + dChars) to (tStart2 - 1) of StringToSearch into zapped
put zapped into tArray[tElementNum]
add 1 to tElementNum
end repeat
return tArray
end getPNLPelements
-- put PNLPgetAttribute("name", tZap) into theAttribute function PNLPgetAttribute tAttribute, strngToSearch put empty into zapA put quote into Qx put tAttribute & "=" & Qx into tAttributeX put the number of chars in tAttributeX into dChars put offset(tAttributeX,strngToSearch) into tNum1 if tNum1 < 1 then return "error" exit PNLPgetAttribute end if put tNum1 + 1 into tNum2 put offset(Qx,strngToSearch,tNum2) into tNum3 put offset("=",strngToSearch,tNum2) into tNum4 if tNum3 < 1 then return "error" exit PNLPgetAttribute end if if tNum4 < tNum3 then return "error" exit PNLPgetAttribute end if put char (tNum2 + 1) to (tNum3 - 1) of stngToSch into zapA return zapA end PNLPgetAttribute
Mark Brownell
P.S. I would love a multi-character delimiter.
On Thursday, February 12, 2004, at 05:10 AM, Thomas McGrath III wrote:
Hello everybody,
I was wondering if the itemDelimiter can be more than one character? I mean instead of "," or ":" can it be "<!--display paragraphs-->" ?
If the answer is NO then can someone help me understand how to sift through the html below to just extract the title text and the 2 paragraph texts? I know I can offset("<title>") field "HTML" but then what can I do to extract the text after that?
It may be obvious but for the life of me I can't 'see' it.
Thanks
TOm
<html>
<head>
<title>Just for Today Meditation</title>
</head>
<BODY TEXT="#000000" BGCOLOR="#F8D0B8" LINK="#999999" VLINK="#000000" ALINK="#FF0000">
<!--calculate day of the year -->
<!-- numdays=datediff("d",firstday,now)+1 -->
<!--display paragraphs-->
<p>Our fantasies and expectations about the future may be so extreme that, on our first date with someone, we find ourselves wondering which lawyer we'll use for the divorce. Almost every experience causes us to remember something from the past or begin projecting into the future. </p>
<!--display paragraphs-->
<p>At first, it's difficult to stay in the moment. It seems as though our minds won't stop. We have a hard time just enjoying ourselves. Each time we realize that our thoughts are not focused on what's happening right now, we can pray and ask a loving God to help us get out of ourselves. If we regret the past, we make amends by living differently today; if we dread the future, we work on living responsibly today. </p>
</body></html> Thomas J McGrath III
_______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Thomas J. McGrath III SCS 1000 Killarney Dr. Pittsburgh, PA 15234 412-885-8541
_______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
