Monday, November 08, 2010 at 12:03 AM.
system.verbs.builtins.html.utilities.findAllHREFs
on findAllHREFs (adrtable, adroutline) { on visit (adrobject) { local (type = typeof (adrobject^)); if (type != tableType) and (type != stringtype) { local (s = string (adrobject^)); if string.lower (s) contains "<a href" { op.insert (adrobject, down); local (dir = right); loop { local (ct, ix = string.patternmatch ("<a href", string.lower (s))); if ix == 0 { if dir == down { op.go (left, 1)}; break}; s = string.delete (s, 1, ix - 1); ct = string.patternmatch ("</a>", string.lower (s)) + 3; href = string.mid (s, 1, ct); s = string.delete (s, 1, ct); op.insert (href, dir); dir = down}}}}; new (outlinetype, adroutline); edit (adroutline); target.set (adroutline); table.visit (adrtable, @visit); editmenu.setfont ("geneva"); editmenu.setfontsize (9); op.firstsummit (); op.deleteline (); window.zoom (adroutline)}; findAllHREFs (@user.websites.frontier, @scratchpad.urllist)
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.