Kaylee: So how many fell madly in love with you and wanted to take you away from all this? Inara: Just the one. I think I'm slipping.

'Serenity'


Buffistas Building a Better Board  

Do you have problems, concerns or recommendations about the technical side of the Phoenix? Air them here. Compliments also welcome.

To-do list


John H - Sep 23, 2002 4:53:07 pm PDT #348 of 10000

Hmm. PF closed my unclosed tags for me.

D'oh!

Oh well.

So it would mean counting opened tags inside each post, that would be all we'd need to do?

Maybe I'm going to completely reverse my position. I'm allowed to do that, right?

What would we need to do, count all opening tags in each post on display? Or just once on Save?


Betsy HP - Sep 23, 2002 4:54:17 pm PDT #349 of 10000
If I only had a brain...

This entire page is pink in IE6.


§ ita § - Sep 23, 2002 4:55:10 pm PDT #350 of 10000
Well not canonically, no, but this is transformative fiction.

They do it on display, since the text I get when I go to edit is exactly what I typed.

And they closed them in order ...


John H - Sep 23, 2002 4:59:49 pm PDT #351 of 10000

since the text I get when I go to edit is exactly what I typed

Well, you might go back to edit it to correct the open tags... or is that circular logic?

And they closed them in order ...

Damn, that's actually smart!

How are we to keep up the sense of "we're smarter than WX" if the connection's going to keep dropping and they actually do have pockets of good code?

So grab all the tags from the string, and push them into an array, then grab all the closing tags from the string, and push them into an array... hmmm. I really don't know what's the best way to do it. Theoretically trivial, but some questions about the implementation, I guess...


John H - Sep 23, 2002 5:12:32 pm PDT #352 of 10000

OK thinking about it in the shower, I see I was over-reacting before. In my defense it's early here and I've only had the one coffee.

The task is relatively simple, because we don't have to parse lots of code, only the post itself, and because relatively few HTML tags are allowed anyway.

So, after strip_tags() happens, then we would count all the tags that are still there and note their position (optional, because if you've made a mistake you've made a mistake, and who knows what you intended, but you shouldn't be making other people's posts go wrong).


§ ita § - Sep 23, 2002 5:15:29 pm PDT #353 of 10000
Well not canonically, no, but this is transformative fiction.

Showers are good.

How about we pop them on a stack, and pop them back off again? I have not yet thought deeply about how you code around people that close in the wrong order ...


John H - Sep 23, 2002 6:01:18 pm PDT #354 of 10000

How about we pop them on a stack, and pop them back off again?

That makes sense. Though doing it by brute calculation would probably do just as well, what with the not-knowing-what-people-intended thing.

like:

if($number_of_a_tags > $number_of_close_a_tags){
print '</a>'}

kind of thing.


Typo Boy - Sep 23, 2002 6:08:39 pm PDT #355 of 10000
Calli: My people have a saying. A man who trusts can never be betrayed, only mistaken.Avon: Life expectancy among your people must be extremely short.

In netscape they stayed pink until the new page.

And yes, I think a brute count will work fine. (Needed on post only).

If there are is one fewer end pre than pre, you add an end pre to end of the post -ditto with bolds, italics table and so forth. Don't worry if it screws up the person's post. They can edit it if they wish. So long as it does not screw up the next persons post. So that really is a single additional pass once tag stripping is done.

We are not corecting all possible problems - just some simple ones where other peoples post can be hurt.


John H - Sep 23, 2002 6:12:35 pm PDT #356 of 10000

/me realises that it should be:

for($number_of_a_tags - $number_of_close_a_tags){
print '</a>'
}

above. But you get the idea.


Typo Boy - Sep 23, 2002 6:17:41 pm PDT #357 of 10000
Calli: My people have a saying. A man who trusts can never be betrayed, only mistaken.Avon: Life expectancy among your people must be extremely short.

Exactly.