$s{$i}
bude fungovat i s UTF-8. Na tu si ale ještě nějaký ten měsíc nebo rok počkáme...
Máte pravdu. Žil jsem v domnění, že speciální znaky je nutné escapovat i uvnitř hodnot atributů. Nedostatek by měl vyřešit následující kód
$in_quote = ''; while ($i < strlen($s) && ($in_quote || $s{$i} != '>')) { if (($s{$i} == '"' || $s{$i} == "'") && !$in_quote) { $in_quote = $s{$i}; } elseif ($in_quote == $s{$i}) { $in_quote = ''; } $i++; }
místo původního
while ($i < strlen($s) && $s{$i} != '>') { $i++; }
Všiml jste si ještě něčeho problematického?