― roc u like a § (ex machina), Thursday, 4 January 2007 17:01 (eighteen years ago)
― stet (stet), Thursday, 4 January 2007 18:16 (eighteen years ago)
ok, news:
http://test.com/+does+this+woirk http://test2.com/?+does+this+woirk
― Catsupppppppppppppp dude 茄蕃, Tuesday, 29 May 2007 06:24 (eighteen years ago)
http://test.com/?googleresultsareuseful=does+this+woirk
― Catsupppppppppppppp dude 茄蕃, Tuesday, 29 May 2007 06:27 (eighteen years ago)
ok there are your test cases
you know how an ILX URL is automatically converted to the thread title? Well, apparently " is converted to " :
Vi4gra "could help with Jetlag"...
― StanM, Tuesday, 29 May 2007 07:07 (eighteen years ago)
oh you beat me
― Catsupppppppppppppp dude 茄蕃, Tuesday, 29 May 2007 07:07 (eighteen years ago)
and it says we're illegal
NO SOMOS ILLEGAL
http://www.myspaceantics.com/images/funny/no-illegals-no-burritos.jpg
― Catsupppppppppppppp dude 茄蕃, Tuesday, 29 May 2007 07:08 (eighteen years ago)
ah jw beat me to it
― am0n, Tuesday, 29 May 2007 07:40 (eighteen years ago)
WHY CAN I ONLY POST 3 IMAGES U NAZIS
― Catsupppppppppppppp dude 茄蕃, Tuesday, 29 May 2007 17:25 (eighteen years ago)
http://en.wikipedia.org/wiki/Capitol_Hill,_Seattle,_Washington,
http://images.amazon.com/images/P/0596002890.01.LZZZZZZZ.jpg
― Catsupppppppppppppp dude 茄蕃, Tuesday, 29 May 2007 21:30 (eighteen years ago)
That last one is impossible to work out without additional markup, as it's not possible to work out whether it's a URL followed by a comma, or a URL with a comma in it. The starting point was the URL out of that book, but it's a long way off the mark.
― Keith, Tuesday, 29 May 2007 22:02 (eighteen years ago)
Why not just break urls on white space?
― ledge, Wednesday, 30 May 2007 10:17 (eighteen years ago)
I mean that'll still lead to badness if someone puts a , or ) after a url, but the onus would be on the user not the parser.
― ledge, Wednesday, 30 May 2007 10:19 (eighteen years ago)
You could ignore punctuation if it's the last character of the url. That'd probably be correct for 99% of cases.
― ledge, Wednesday, 30 May 2007 10:21 (eighteen years ago)
note to self: think more, post less
― ledge, Wednesday, 30 May 2007 10:22 (eighteen years ago)
(?:http://(?:(?:(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?: [a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z ])|(?:[A-Z]))|\d))\.)*(?:(?:(?:(?:[a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])| (?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z ]))))|(?:(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)))(?::(?:(? :(?:\d)+)))?)(?:/(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_. +-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;:@&=])*)(?:/(? :(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?: %(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;:@&=])*))*)(?:\?(?:(?:(?:(?:(?:(?:[a -z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?: [\dA-Fa-f])))|[;:@&=])*))?)?)|(?:ftp://(?:(?:(?:(?:(?:(?:(?:(?:[a-z])| (?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA- Fa-f])))|[;?&=])*)(?::(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$ _.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;?&=])*))?@)? (?:(?:(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?:[a-z])|(?: [A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z])|(?:[A-Z ]))|\d))\.)*(?:(?:(?:(?:[a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])|(?:[A-Z])) |\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z]))))|(?:( ?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)))(?::(?:(?:(?:\d)+)) )?))(?:/(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[ !*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[?:@&=])*)(?:/(?:(?:(?:(? :(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA- Fa-f])(?:[\dA-Fa-f])))|[?:@&=])*))*)(?:;type=(?:[AIDaid]))?)?)|(?:news :(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),] ))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;/?:&=])+@(?:(?:(?:(?:(?:(?:(?: (?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?: [a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z])|(?:[A-Z]))|\d))\.)*(?:(?:(?:(?: [a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])| (?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z]))))|(?:(?:(?:\d)+)\.(?:(?:\d)+)\ .(?:(?:\d)+)\.(?:(?:\d)+))))|(?:(?:(?:[a-z])|(?:[A-Z]))(?:(?:(?:[a-z]) |(?:[A-Z]))|(?:\d)|[.+_-])*)|\*))|(?:nntp://(?:(?:(?:(?:(?:(?:(?:(?:(? :[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a -z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z])|(?:[A-Z]))|\d))\.)*(?:(?:(?:(?:[a -z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(? :[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z]))))|(?:(?:(?:\d)+)\.(?:(?:\d)+)\.( ?:(?:\d)+)\.(?:(?:\d)+)))(?::(?:(?:(?:\d)+)))?)/(?:(?:(?:[a-z])|(?:[A- Z]))(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|[.+_-])*)(?:/(?:(?:\d)+))?)|(?:t elnet://(?:(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|( ?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;?&=])*)(?::(?:(?:(?: (?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\d A-Fa-f])(?:[\dA-Fa-f])))|[;?&=])*))?@)?(?:(?:(?:(?:(?:(?:(?:(?:(?:[a-z ])|(?:[A-Z]))|\d)(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])| (?:[A-Z]))|\d))|(?:(?:(?:[a-z])|(?:[A-Z]))|\d))\.)*(?:(?:(?:(?:[a-z])| (?:[A-Z]))(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z ]))|\d))|(?:(?:[a-z])|(?:[A-Z]))))|(?:(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?: \d)+)\.(?:(?:\d)+)))(?::(?:(?:(?:\d)+)))?))(?:/)?)|(?:gopher://(?:(?:( ?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?:[a-z])|(?:[A-Z])) |\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z])|(?:[A-Z]))|\d) )\.)*(?:(?:(?:(?:[a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-) *(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z]))))|(?:(?:(?:\d )+)\.(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)))(?::(?:(?:(?:\d)+)))?)(?:/ (?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:% (?:[\dA-Fa-f])(?:[\dA-Fa-f]))|(?:[;/?:@&=])))(?:(?:(?:(?:(?:(?:[a-z])| (?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA- Fa-f]))|(?:[;/?:@&=]))*)(?:%09(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\ d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;:@&= ])*)(?:%09(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'( ),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f]))|(?:[;/?:@&=]))*))?)?)?)?)|(?:( ?:wais://(?:(?:(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?:[ a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z] )|(?:[A-Z]))|\d))\.)*(?:(?:(?:(?:[a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])|( ?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z] ))))|(?:(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)))(?::(?:(?: (?:\d)+)))?)/(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[! *'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))*))|(?:wais://(?:(?:(?:(?:( ?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|- )*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z])|(?:[A-Z]))|\d))\.)*( ?:(?:(?:(?:[a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(? :(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z]))))|(?:(?:(?:\d)+)\.( ?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)))(?::(?:(?:(?:\d)+)))?)/(?:(?:(?: (?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-F a-f])(?:[\dA-Fa-f])))*)\?(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(? :[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;:@&=])*)) |(?:wais://(?:(?:(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(? :[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a- z])|(?:[A-Z]))|\d))\.)*(?:(?:(?:(?:[a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z]) |(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A- Z]))))|(?:(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)))(?::(?:( ?:(?:\d)+)))?)/(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?: [!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))*)/(?:(?:(?:(?:(?:[a-z])| (?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA- Fa-f])))*)/(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*' (),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))*)))|(?:mailto:(?:(?:(?:(?:(? :[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f]) (?:[\dA-Fa-f]))|(?:[;/?:@&=]))+))|(?:file://(?:(?:(?:(?:(?:(?:(?:(?:(? :[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a -z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z])|(?:[A-Z]))|\d))\.)*(?:(?:(?:(?:[a -z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(? :[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z]))))|(?:(?:(?:\d)+)\.(?:(?:\d)+)\.( ?:(?:\d)+)\.(?:(?:\d)+)))|localhost)?/(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[ A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f ])))|[?:@&=])*)(?:/(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+ -])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[?:@&=])*))*))|(? :prospero://(?:(?:(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:( ?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a -z])|(?:[A-Z]))|\d))\.)*(?:(?:(?:(?:[a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z] )|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A -Z]))))|(?:(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)))(?::(?: (?:(?:\d)+)))?)/(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+ -])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[?:@&=])*)(?:/(?: (?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:% (?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[?:@&=])*))*)(?:(?:;(?:(?:(?:(?:(?:(?:[ a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(? :[\dA-Fa-f])))|[?:@&])*)=(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(? :[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[?:@&])*))) *)|(?:(?:(?:(?:[a-z])|(?:\d)|[+.-])+):(?:(?:(?:(?:(?:[a-z])|(?:[A-Z])) |(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f]))|(? :[;/?:@&=]))*|(?://(?:(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(? :[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;?&=])*)(? ::(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),])) |(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;?&=])*))?@)?(?:(?:(?:(?:(?:(?:(? :(?:(?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(? :(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z])|(?:[A-Z]))|\d))\.)*(?:(?:(? :(?:[a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a- z])|(?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z]))))|(?:(?:(?:\d)+)\.(?:(?:\d )+)\.(?:(?:\d)+)\.(?:(?:\d)+)))(?::(?:(?:(?:\d)+)))?))(?:/(?:(?:(?:(?: (?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f ])(?:[\dA-Fa-f]))|(?:[;/?:@&=]))*))?)))
― stet, Wednesday, 30 May 2007 12:10 (eighteen years ago)
(That mess is what it takes to fully regex a URL, btw. It's slow! And in Perl, too.)
― stet, Wednesday, 30 May 2007 12:14 (eighteen years ago)
Well you could probably ignore anything that isn't http...
(http://S+?)[-,:)]}=]? - the 99%, fuck user typos solution? ($1 being the link, final punc chars ignored). Ah it's still Perl specific though.
― ledge, Wednesday, 30 May 2007 12:50 (eighteen years ago)
that worked well... should be //\S not //S.
(http://S+?)[-,:)}\]]?
And apparently Java has non-greedy matching so it should work.
― ledge, Wednesday, 30 May 2007 12:55 (eighteen years ago)
except it doesn't.
― ledge, Wednesday, 30 May 2007 13:00 (eighteen years ago)
Alright final attempt. Works in Java for http://en.wikipedia.org/wiki/Capitol_Hill,_Seattle,_Washington, when followed by whitespace or at the end of a line.
(http://\S+?)[-,:)}\]]\s*$
(//\S in the middle still no matter what it says above)
― ledge, Wednesday, 30 May 2007 13:06 (eighteen years ago)
You could just use the [url] tags.
― libcrypt, Wednesday, 30 May 2007 15:08 (eighteen years ago)
This is what I do.
I think the problem with a full auto-matching thing, is that, as we've discussed here before, it's just not possible. That's why markup languages exist. It's impossible to tell whether a space, or a comma, or a ], for example (http://www.google.com) etc. are part of a URL, or they're where it stops. This will even be true of the abomination above, which I assume was generated from EBNF. You have to make a call, and I've made one, which is what you're suggesting, as most URLs don't end with these (see the bracketed example above, which works, although it's actually unclear as to whether or not the final bracket should be included in the URL).
If your URL does look like that, we either annoy everyone my making it match, in which case the above bracketed example will fail and include the brackets in the URL, or you use the markup provided below to do it.
― Keith, Wednesday, 30 May 2007 16:21 (eighteen years ago)
Anyway, the above examples have been sorted and work here:
http://www.ilxor.com:8090/ILX/ThreadSelectedControllerServlet?boardid=159&threadid=21
― Keith, Wednesday, 30 May 2007 16:22 (eighteen years ago)
(?:http://(?:(?:(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?: [a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z ])|(?:[A-Z]))|\d))\.)*(?:(?:(?:(?:[a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])| (?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z ]))))|(?:(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)))(?::(?:(? :(?:\d)+)))?)(?:/(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_. +-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;:@&=])*)(?:/(? :(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?: %(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;:@&=])*))*)(?:\?(?:(?:(?:(?:(?:(?:[a -z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?: [\dA-Fa-f])))|[;:@&=])*))?)?)|(?:ftp://(?:(?:(?:(?:(?:(?:(?:(?:[a-z])| (?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA- Fa-f])))|[;?&=])*)(?::(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$ _.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;?&=])*))?@)? (?:(?:(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?:[a-z])|(?: [A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z])|(?:[A-Z ]))|\d))\.)*(?:(?:(?:(?:[a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])|(?:[A-Z])) |\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z]))))|(?:( ?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)))(?::(?:(?:(?:\d)+)) )?))(?:/(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[ !*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[?:@&=])*)(?:/(?:(?:(?:(? :(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA- Fa-f])(?:[\dA-Fa-f])))|[?:@&=])*))*)(?:;type=(?:[AIDaid]))?)?)|(?:news :(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),] ))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;/?:&=])+@(?:(?:(?:(?:(?:(?:(?: (?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?: [a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z])|(?:[A-Z]))|\d))\.)*(?:(?:(?:(?: [a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])| (?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z]))))|(?:(?:(?:\d)+)\.(?:(?:\d)+)\ .(?:(?:\d)+)\.(?:(?:\d)+))))|(?:(?:(?:[a-z])|(?:[A-Z]))(?:(?:(?:[a-z]) |(?:[A-Z]))|(?:\d)|[.+_-])*)|\*))|(?:nntp://(?:(?:(?:(?:(?:(?:(?:(?:(? :[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a -z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z])|(?:[A-Z]))|\d))\.)*(?:(?:(?:(?:[a -z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(? :[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z]))))|(?:(?:(?:\d)+)\.(?:(?:\d)+)\.( ?:(?:\d)+)\.(?:(?:\d)+)))(?::(?:(?:(?:\d)+)))?)/(?:(?:(?:[a-z])|(?:[A- Z]))(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|[.+_-])*)(?:/(?:(?:\d)+))?)|(?:t elnet://(?:(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|( ?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;?&=])*)(?::(?:(?:(?: (?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\d A-Fa-f])(?:[\dA-Fa-f])))|[;?&=])*))?@)?(?:(?:(?:(?:(?:(?:(?:(?:(?:[a-z ])|(?:[A-Z]))|\d)(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])| (?:[A-Z]))|\d))|(?:(?:(?:[a-z])|(?:[A-Z]))|\d))\.)*(?:(?:(?:(?:[a-z])| (?:[A-Z]))(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z ]))|\d))|(?:(?:[a-z])|(?:[A-Z]))))|(?:(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?: \d)+)\.(?:(?:\d)+)))(?::(?:(?:(?:\d)+)))?))(?:/)?)|(?:gopher://(?:(?:( ?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?:[a-z])|(?:[A-Z])) |\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z])|(?:[A-Z]))|\d) )\.)*(?:(?:(?:(?:[a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-) *(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z]))))|(?:(?:(?:\d )+)\.(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)))(?::(?:(?:(?:\d)+)))?)(?:/ (?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:% (?:[\dA-Fa-f])(?:[\dA-Fa-f]))|(?:[;/?:@&=])))(?:(?:(?:(?:(?:(?:[a-z])| (?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA- Fa-f]))|(?:[;/?:@&=]))*)(?:%09(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\ d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;:@&= ])*)(?:%09(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'( ),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f]))|(?:[;/?:@&=]))*))?)?)?)?)|(?:( ?:wais://(?:(?:(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?:[ a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z] )|(?:[A-Z]))|\d))\.)*(?:(?:(?:(?:[a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])|( ?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z] ))))|(?:(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)))(?::(?:(?: (?:\d)+)))?)/(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[! *'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))*))|(?:wais://(?:(?:(?:(?:( ?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|- )*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z])|(?:[A-Z]))|\d))\.)*( ?:(?:(?:(?:[a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(? :(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z]))))|(?:(?:(?:\d)+)\.( ?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)))(?::(?:(?:(?:\d)+)))?)/(?:(?:(?: (?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-F a-f])(?:[\dA-Fa-f])))*)\?(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(? :[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;:@&=])*)) |(?:wais://(?:(?:(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(? :[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a- z])|(?:[A-Z]))|\d))\.)*(?:(?:(?:(?:[a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z]) |(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A- Z]))))|(?:(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)))(?::(?:( ?:(?:\d)+)))?)/(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?: [!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))*)/(?:(?:(?:(?:(?:[a-z])| (?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA- Fa-f])))*)/(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*' (),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))*)))|(?:mailto:(?:(?:(?:(?:(? :[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f]) (?:[\dA-Fa-f]))|(?:[;/?:@&=]))+))|(?:file://(?:(?:(?:(?:(?:(?:(?:(?:(? :[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a -z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z])|(?:[A-Z]))|\d))\.)*(?:(?:(?:(?:[a -z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(? :[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z]))))|(?:(?:(?:\d)+)\.(?:(?:\d)+)\.( ?:(?:\d)+)\.(?:(?:\d)+)))|localhost)?/(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[ A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f ])))|[?:@&=])*)(?:/(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+ -])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[?:@&=])*))*))|(? :prospero://(?:(?:(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:( ?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a -z])|(?:[A-Z]))|\d))\.)*(?:(?:(?:(?:[a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z] )|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A -Z]))))|(?:(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)\.(?:(?:\d)+)))(?::(?: (?:(?:\d)+)))?)/(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+ -])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[?:@&=])*)(?:/(?: (?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:% (?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[?:@&=])*))*)(?:(?:;(?:(?:(?:(?:(?:(?:[ a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(? :[\dA-Fa-f])))|[?:@&])*)=(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(? :[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[?:@&])*))) *)|(?:(?:(?:(?:[a-z])|(?:\d)|[+.-])+):(?:(?:(?:(?:(?:[a-z])|(?:[A-Z])) |(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f]))|(? :[;/?:@&=]))*|(?://(?:(?:(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(? :[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;?&=])*)(? ::(?:(?:(?:(?:(?:(?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),])) |(?:%(?:[\dA-Fa-f])(?:[\dA-Fa-f])))|[;?&=])*))?@)?(?:(?:(?:(?:(?:(?:(? :(?:(?:[a-z])|(?:[A-Z]))|\d)(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(? :(?:[a-z])|(?:[A-Z]))|\d))|(?:(?:(?:[a-z])|(?:[A-Z]))|\d))\.)*(?:(?:(? :(?:[a-z])|(?:[A-Z]))(?:(?:(?:(?:[a-z])|(?:[A-Z]))|\d)|-)*(?:(?:(?:[a- z])|(?:[A-Z]))|\d))|(?:(?:[a-z])|(?:[A-Z]))))|(?:(?:(?:\d)+)\.(?:(?:\d )+)\.(?:(?:\d)+)\.(?:(?:\d)+)))(?::(?:(?:(?:\d)+)))?))(?:/(?:(?:(?:(?: (?:[a-z])|(?:[A-Z]))|(?:\d)|(?:[$_.+-])|(?:[!*'(),]))|(?:%(?:[\dA-Fa-f ])(?:[\dA-Fa-f]))|(?:[;/?:@&=]))*))?)))-- stet, Wednesday, May 30, 2007 2:10 AM (4 hours ago) Bookmark Link--------------------------------------------------------------------------------(That mess is what it takes to fully regex a URL, btw. It's slow! And in Perl, too.)-- stet, Wednesday, May 30, 2007 2:14 AM (4 hours ago) Bookmark Link
-- stet, Wednesday, May 30, 2007 2:10 AM (4 hours ago) Bookmark Link
--------------------------------------------------------------------------------
-- stet, Wednesday, May 30, 2007 2:14 AM (4 hours ago) Bookmark Link
Purely a coincidence, but that is also the secret "Myspace Password Key" which can be entered in the password field for any account whoose owner has lost thier myspace password.
― g®▲đұ, Wednesday, 30 May 2007 17:03 (eighteen years ago)
Guys why are you writing your own url parser
― Catsupppppppppppppp dude 茄蕃, Wednesday, 30 May 2007 19:07 (eighteen years ago)
Hi Jon,
I guess the starting point, as always, was to look for something that already did it, but the problem you find, especially if restricting yourself to just open source stuff, is how do you know that what you find is the ideal solution? I looked at quite a lot of them (and started by using one), but they were all rubbish and took two minutes to think of cases that wouldn't work with them. Everyone in open source thinks their solution is best one that's ever existed - the open source world is stuffed full of dicks trying to further their own careers by getting a name for themselves, so it's hard to sort the wheat from the chaff.
I found the same problem with quite a lot of other stuff... Caches, for example, don't document if they're synchronized or not, or if they are, they're usually fully synchronized, rather than read/write locked, which leads to lower throughput etc. So I wound up writing a bunch of that myself. The first URL parser I had, was something I took from something else, but it was rubbish, as you and others pointed out, so I totally revamped it, and that's been much better. I log all the successes/failures to see how well it does, as well as look at the site so see how it does and lately, the only problems I've seen are the stuff you've posted, which I've sorted (took two minutes), so unless loads more problems turn up, I'm not sure there is a problem to be addressed. If you've got something that you could describe as the best regular expression ever for parsing URLs, then post it and I'll use it.
It is an interesting question, in that, at work, I would pretty much always recommend using something off-the-shelf, but in doing this, I've come to realise that (arrogant as it may sound) that I have more experience most of the open source guys writing the off-the-shelf stuff, or maybe more crucially, no way of telling for sure whether I'm better at it than they are, so writing ILX has kind of changed my opinion on this sort of thing. This doesn't apply at work, because there are loads of people involved, and often they don't have the experiences of the open source guys, so using even substandard open source stuff is an overall win.
― Keith, Wednesday, 30 May 2007 22:22 (eighteen years ago)
If you weren't using BBCode there's all kinds of xml transforms that can make this way easier
― Catsupppppppppppppp dude 茄蕃, Thursday, 31 May 2007 02:03 (eighteen years ago)
let go
― elan, Thursday, 31 May 2007 04:06 (eighteen years ago)
I don't follow. I can't think of any way in which an XML transform (I assume you mean XSLT transforming an XML document) can possibly help you in automatically identifying hyperlinks in a document when they're not marked up.
― Keith, Thursday, 31 May 2007 07:58 (eighteen years ago)
Yea, that point isn't really related. :/
― Catsupppppppppppppp dude 茄蕃, Thursday, 31 May 2007 15:37 (eighteen years ago)
ok so urls with @ signs in them get fucked. even if the @ is in the path component
― Catsupppppppppppppp dude 茄蕃, Thursday, 31 May 2007 19:00 (eighteen years ago)
http://www.youtube.com/watch?v=BzIT6rzkzok
^ doesn't convert using bbcode button right
― Catsupppppppppppppp dude 茄蕃, Friday, 1 June 2007 16:36 (eighteen years ago)
I see what you mean about the @ signs. The URL code does the right thing, but putting an @ in it makes it look like an email address, so the email obscuring code goes and plasters *s all over it.
http://✧✧✧.t✧✧✧@t✧✧✧.c✧✧
― Keith, Saturday, 2 June 2007 15:55 (eighteen years ago)
also probably a good idea to filter out @ signs for username/pw in url
― Catsupppppppppppppp dude 茄蕃, Saturday, 2 June 2007 17:50 (eighteen years ago)
Do you not want to be able to do something like an anonymous sftp link? Or is that not what you mean?
Another subject - do you know how to style radio buttons and checkboxes with CSS? I think I'm doing the right thing, but it's not going for it. Buttons were easy enough, but not the others. I've got a black stylesheet (like a terminal emulator), but they wind up with these big white blobs all over them when it's a poll and so on...
― Keith, Sunday, 3 June 2007 13:00 (eighteen years ago)
Although Safari doesn't like having anything done to its buttons either.
― Keith, Sunday, 3 June 2007 13:02 (eighteen years ago)
Safari allows you to style the buttons, but it drops them out of Aqua and makes them just plain boxes if you try it.
― stet, Sunday, 3 June 2007 17:03 (eighteen years ago)
Hmm - not working for me. Works in Firefox.
― Keith, Sunday, 3 June 2007 17:08 (eighteen years ago)
Have a look on the sandbox, if you like. Stylesheet's there.
Looks like you just can't do it...
― Keith, Sunday, 3 June 2007 18:57 (eighteen years ago)
ooh, radio buttons, sorry. You can't style them, no.
― stet, Sunday, 3 June 2007 19:12 (eighteen years ago)
http://www.thedailywtf.com/Images/200706/error'd/204.png
I can't post this image because YOU HAVEN'T FIXED THIS
― Catsupppppppppppppp dude 茄蕃, Thursday, 14 June 2007 16:54 (eighteen years ago)
HELLO
― Catsupppppppppppppp dude 茄蕃, Thursday, 14 June 2007 21:10 (eighteen years ago)
http://forumserver.twoplustwo.com/showflat.php?Cat=0&Number=11034555&page=0&fpart=1&vc=1
^ hello
― Catsupppppppppppppp dude 茄蕃, Thursday, 19 July 2007 16:15 (eighteen years ago)
PEBKAC
― El Tomboto, Thursday, 19 July 2007 16:37 (eighteen years ago)
rong
― Catsupppppppppppppp dude 茄蕃, Thursday, 19 July 2007 18:05 (eighteen years ago)
The point was that you're not supposed to stop url parsing on a semicolon
moron
nerrr
― El Tomboto, Thursday, 19 July 2007 18:09 (eighteen years ago)
The explanation for this is just the same explanation as I gave upthread when you asked this question before, but for a comma and not a semicolon:
when is the html parser going to stop being a nazi
― Keith, Thursday, 19 July 2007 22:42 (eighteen years ago)
hey how about a wee comment (like it used to be, when you messed up your html tags) if a post contains common html tags, saying 'did you mean to use bb code?'
― mookieproof, Thursday, 13 September 2007 03:32 (eighteen years ago)
I've been meaning to add that to my bbcode checker stuff. At least a warning on '<' followed by an alphabetic character. Work kinda sucks now, tho.
― libcrypt, Thursday, 13 September 2007 05:39 (eighteen years ago)
http://en.wikipedia.org/wiki/Iron_maiden_(torture_device)
― StanM, Friday, 14 September 2007 14:03 (eighteen years ago)
http://lucasarts.vintagegaming.org/limages/screenshots/loom/fmtowns/44_-_The_swan_turns_out_to_be_Bobbin's_mother_(FM_Towns).gif
doesn't work in img tag
― Catsupppppppppppppp dude 茄蕃, Friday, 16 November 2007 21:06 (seventeen years ago)
http://answers.yahoo.com/question/index;_ylt=AhmeNPo56wkvdyeJmmgnNXHK7BR.;_ylv=3?qid=20071128113104AASaBbN
^ doesn't work in url tag
― Catsupppppppppppppp dude 茄蕃, Wednesday, 28 November 2007 19:52 (seventeen years ago)
SERIOSULKY
already posted :*(
HEY THE URL PARSER BLOWS
― am0n, Wednesday, 28 November 2007 20:40 (seventeen years ago)
www.blacklight.com/backroom/backroom.nsf/allitems/52A92B7091B0ECF18625719B006BB2FA/$file/FSCENT.gif
― Catsupppppppppppppp dude 茄蕃, Friday, 7 December 2007 18:19 (seventeen years ago)
http://www.blacklight.com/backroom/backroom.nsf/allitems/52A92B7091B0ECF18625719B006BB2FA/
― El Tomboto, Friday, 7 December 2007 18:23 (seventeen years ago)
who the fuck puts $file in a URL
― El Tomboto, Friday, 7 December 2007 18:24 (seventeen years ago)
people i still bandwidth from
― Catsupppppppppppppp dude 茄蕃, Friday, 7 December 2007 20:01 (seventeen years ago)
so we have HIDDEN BROADS but the html parser is still a nazi
way to go
― Catsupppppppppppppp dude 茄蕃, Friday, 4 April 2008 18:50 (seventeen years ago)
go us!!
― El Tomboto, Friday, 4 April 2008 19:28 (seventeen years ago)
http://media.monstersandcritics.com/articles/1256801/article_images/nerds.jpg
― forksclovetofu, Saturday, 5 April 2008 22:49 (seventeen years ago)
Dude, there is no HTML parser.
― libcrypt, Saturday, 5 April 2008 22:51 (seventeen years ago)
who doesn't have a hidden broad?
― tehresa, Sunday, 6 April 2008 03:52 (seventeen years ago)
for the record, i'm happy there's a vidya game bored. Bewteen that and the main site, i have few other board-needs.
So start whatever boards ya like; go knock yerself out.
― kingfish, Sunday, 6 April 2008 12:39 (seventeen years ago)