By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
432,306 Members | 1,657 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 432,306 IT Pros & Developers. It's quick & easy.

counting tags and writing missing tags

P: n/a
sometimes people just forget to close formating tag while writing
message in forum (or enywhere else) so I wrote those lines (for <b>, <i>
and <a> tags)

$i_open = substr_count($tekst, "<i>");
$i_close = substr_count($tekst, "</i>");
if($i_open > $i_close) {
$tekst = "$tekst </i>";
}

but... I would like to have proper nesting, ie: if someone write
"<b>some text <i>without closing tags"
and if my script have order like
if($b_open > $b_close)
if($i_open > $i_close)
if($a_open > $a_close)

I will have unproper nesting:
"<b>some text <i>without closing tags </b> </i>"

Is there some method to "see" which tag should came first?

--
Ja NE
http://fotozine.org/?omen=janimir
--
Oct 26 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
"Ja NE" wrote:
sometimes people just forget to close formating tag while writing
message in forum (or enywhere else) so I wrote those lines (for <b>, <i>
and <a> tags)

$i_open = substr_count($tekst, "<i>");
$i_close = substr_count($tekst, "</i>");
if($i_open > $i_close) {
$tekst = "$tekst </i>";
}

but... I would like to have proper nesting, ie: if someone write
"<b>some text <i>without closing tags"
and if my script have order like
if($b_open > $b_close)
if($i_open > $i_close)
if($a_open > $a_close)

I will have unproper nesting:
"<b>some text <i>without closing tags </b> </i>"

Is there some method to "see" which tag should came first?


Don't use flags. They won't be of any use if tags of the same type are
nested (e.g., "<b><b>...</b>").

Instead, use a stack to keep a record of which tags are open.

These functions should help:
<http://php.net/array_push>
<http://php.net/array_pop>

--
phil [dot] ronan @ virgin [dot] net
http://vzone.virgin.net/phil.ronan/
Oct 26 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.