Slightly different mechanics... the primary hard disk on the server was getting intermittent errors, leading to the server going offline. A few hours ago, the secondary disk was made the boot disk, and I have been working since then to get everything back in place with the right permissions, ownership, etc., and I think that things are OK now. Let me know if there are things that I've overlooked.

means "look for a quote tag, gather and remember the text from that point to the next closing quote tag". Which means that in any "nested" quote, it matches the outer opening quote tag to the innermost closing quote tag. To do nested quotes, I'm thinking that you would need a real parser, not just some regular expression matches.

I think Midnight was asking for an ignore button where you could ignore certain users here and not see their comments.

And Russell, if you make a new post you'll see a Quote button along the menue about the new post, experiment with that button. Also, when you read my post here you'll see a different Quote button. Try that one as well and use the Preview button alot :-)

I suppose a work around for the nested quote thing would be split the nest up into separate quotes. More work, but it might even make it easier to read. I.e., instead of (A said (B said (C said ...) ... ) ... )put(C said ... )(B said ... )(A said ... )

Not sure that a full parser is necessary. If you add a (.*) to the front of your pattern (To slurp up the longest text that doesn't contain {quote}, you can find the last complete inner quote. Then iterate until you find no more or you hit a limit (to avoid infinite loops if there is a mistake). I also combined the handling of {quote=} and {quote} forms, otherwise it still gets hopelessly muddled.

Would it be possible to display links to the last few pages in a long thread on the topic page? For instance, if the last post I read in the UD thread was on page 93 and want to catch up on my lunch break (without logging in), I have to click the link to page 95, then go backwards.

I learned long ago that if one asks, "Does anyone know how to do X?", one is likely to listen to the crickets chirping in response. Say instead, "I don't think X is possible," and you may soon be drowning in code. The slice of humble pie that goes with it is just the price of admission.

Here's the code that generates the page links on the forum display page. I'm willing to experiment if someone wants to take a shot at code to also display the links to the final three pages when there are more than seven pages total.

Wow thanks Wes. I didn't expect you to implement it. I thought you'd say it would be far too slow because it has to loop once for each quote tag. One way to make it faster would be to do this only when text was being input by the user and turn matched "quote"s to matched IQUOT../IQUOT (or similar) and save that in the DB. Then when viewing you could process the start and end tags separately with simpler regexps (Simple string replacement for end tag) in one pass because you know they already match up. Of course you then have to handle internal tags entered directly by the user. And you'd have to turn IQUOT back to QUOTE for editing. Etc. etc. etc.

Re. the other topic: I'd like to see the page number which contains the first post entered after my last page view (not made in the current session) so that I could go directly to where I left off last time. Alas, I fear that may be impossible

An O(n) algorithm seems worth it to me. If it had been O(n^2) or something, that would have been cause for concern.

BTW, the form of the comments in the database is just a lightly filtered version of what you enter. All of the iB code stuff remains in its original form. Otherwise, editing would require re-coding and then decoding.

Hmmm, emoticons... :0 or . OK, the "wow" emoticon now is a colon followed by a capital "O", not the numeral zero.

This should work for the page link generation, if Perl follows rules similar to the languages I've used. It lists the page if page# is 1 or within 3 of the number of pages, and excludes any page#'s between those two ranges.

Thank you, Henry J. I still had a half hour of work there. I really wanted the two-dot ellipsis. Plus, Perl has a reserved word for "else if" that is not "else if" : elsif. The error message was not very helpful, either.

I noticed it now gives links to the first three, then an ellipsis (...), then links to the last three (for topics that have 7 or more pages, I guess). If I'd known those were the specs I could'a done it that way to start with.

Not to mention if I'd known that Perl spells "else if" as one word (or if I'd simply put braces around the second "if" statement, as in { if (condition) { ... } else { if (condition2) { ... } else { ... } } }, but I didn't think of it at the time. [Don Adams]Sorry about that, chief [/Don Adams] ).