John, looks good.
Here's what we should do for extra safety: run this function over every message already in the database, and log any that come back different. There should only be a small number of them. Someone should look at each one that comes back different and decide if it's a problem in the message in the database or a problem with the tag closer.
If the tag closer works correctly on all the old messages, I doubt it will fail on the new ones.
I've turned the whole thing into a function in this iteration by the way, so that you can just go
$results = array();
$results = parse_html($formcontent);
so what more do I need to do to make it OO?
I do
class Parser {
function parse_html(){
[code code code]
}
}
then call on it with
$sweetLumpyParsingMinion = new Parser;
$sweetLumpyParsingMinion->parse_html($post);
or something like that?
If I only have one function, it seems like overkill.
The structure for the code to date is that if there's no associated data structure, the function just goes in a general file. However, this will be applied to posts, right? So it would be a method of the post class.
If I only have one function, it seems like overkill.
Yep. Unless you're using global variables for state. In that case, a class is better style, since you can store the state as member variables.
Also, on edit, do what ita said. Although I wonder if it's worthwhile to keep it as a separate class/function, in order to keep the post class from growing too complex.
Aha, that makes more sense. [edit: ita that is, not that Rob didn't make sense too...] So you can just bung it in with all the other functions and call it.
I don't know what my block is with the OO thing. I just don't
see
it in my head.
I owe John: 1 proselytizing message on OOP.
Did you just give him an OOP FYI I.O.U.?
OK have a look at this page: [link]
Which tags is this supposed to check? Because it's not closing a
t table
tags.
it's not closing a table tags.
It is now.
You tell me what tags, I'll add them -- does it actually make sense to tell it to close TABLE, TR and TDs?
You tell me what tags, I'll add them
Since I'm 3000 miles from home, I can't check the code and give you the list, but didn't I post a list upthread somewhere?
Ahh! I found it:
<a>
<b>
<i>
<u>
<ul>
<ol>
<li>
<p>
<br>
<strike>
<table>
<tr>
<td>
<th>
<font>
<pre>
<code>
does it actually make sense to tell it to close TABLE, TR and TDs?
Yes, but tables are tricky. As I pointed out a while back, the mere
existence
of a
t td
t /td
pair within a post, without a
t table
t /table
pair around them, causes havoc with the tables on this page. So even if you close an open
t td
tag, we'll still have problems.
I still think we should disallow table tags altogether (sorry, ita).