Ik ben bezig om een stukje code te maken wat van "brakke" html 4 xhtml moet kunnen maken.
nu gebruik ik voor images de volgende code:
En deze doet het perfect,
Nu heb ik het zelfde voor andere "single" tags waarvan ik vrij zeker ben dat mensen niet ook nog eens een end-tag gaan gebruiken.
De option tag heeft echter het probleem dat mensen soms wel een /option tag gebruiken en soms niet.
En ik moet natuurlijk alleen de <option *> tags aanpassen zodat ze xhtml compliant worden.
De reden waarom ik dit wil doen is omdat mijn xml parser het anders niet meer snapt.
Ik heb de volgende regels bedacht:
<option> (alleen een kale option tag)
<option(.*)> (een option tag met of zonder inhoud.
<option(.*([^>]*[^/]))> een option tag die niet zelf sluitend is, en alleen het stuk wat in de tag zelf staat moet gevonden worden.
En daarna weet ik het niet zo goed meer,
Kijkend naar de html specs zie ik dat er geen tags in een option tag mogen staan en dat we er dus van uit mogen gaan dat alles tot de volgende open of sluit tag bij deze option tag hoort.
<option value=test>naam<option>
of
<option value=test>naam</select>
Maar als de volgende tag een sluitende </option> tag is moet hij hem niet vinden.
Ik heb nu dit:
Maar dat doet het niet.
Ook zouden end tag haakjes in argumenten binnen de beginnende option tag niet gerekend mogen worden,
Kan iemand me in de jusite richting pointen?
nu gebruik ik voor images de volgende code:
PHP:
1
| $string = ereg_replace('<img([^>]*[^/])>', '<img \\1 />', $string); |
En deze doet het perfect,
Nu heb ik het zelfde voor andere "single" tags waarvan ik vrij zeker ben dat mensen niet ook nog eens een end-tag gaan gebruiken.
De option tag heeft echter het probleem dat mensen soms wel een /option tag gebruiken en soms niet.
En ik moet natuurlijk alleen de <option *> tags aanpassen zodat ze xhtml compliant worden.
De reden waarom ik dit wil doen is omdat mijn xml parser het anders niet meer snapt.
Ik heb de volgende regels bedacht:
<option> (alleen een kale option tag)
<option(.*)> (een option tag met of zonder inhoud.
<option(.*([^>]*[^/]))> een option tag die niet zelf sluitend is, en alleen het stuk wat in de tag zelf staat moet gevonden worden.
En daarna weet ik het niet zo goed meer,
Kijkend naar de html specs zie ik dat er geen tags in een option tag mogen staan en dat we er dus van uit mogen gaan dat alles tot de volgende open of sluit tag bij deze option tag hoort.
<option value=test>naam<option>
of
<option value=test>naam</select>
Maar als de volgende tag een sluitende </option> tag is moet hij hem niet vinden.
Ik heb nu dit:
PHP:
1
| $string = ereg_replace('<option([^>]*)>(*)<^[/option]','<option \\1 />\\2</option>', $string); |
Maar dat doet het niet.
Ook zouden end tag haakjes in argumenten binnen de beginnende option tag niet gerekend mogen worden,
Kan iemand me in de jusite richting pointen?
openkat.nl al gezien?