kongen
kongemedlem
Jeg har denne koden
Resultatet i browseren blir
og i browserens kildekode
Når det er samme tekst i begge stringene og samme charset, hvorfor telles det ikke like mange tegn? Hva må gjøres for at antall tegn fra string2 teller samme antall tegn som string1?
PHP:
$string1 = '<p>Blåbær er godt</p>';
$doc = new DOMDocument;
$doc->loadHTML(mb_convert_encoding($string1, 'HTML-ENTITIES', 'UTF-8'));
$string2 = preg_replace('/^<!DOCTYPE.+?>/', '', str_replace( array('<html>', '</html>', '<body>', '</body>'), array('', '', '', ''), $doc->saveHTML()));
$string2 = html_entity_decode($string2, ENT_QUOTES, "UTF-8");
echo $string1.' - '.strlen($string1).' - '.mb_detect_encoding($string1).'<br>';
echo $string2.' - '.strlen($string2).' - '.mb_detect_encoding($string2);
Resultatet i browseren blir
PHP:
Blåbær er godt
- 23 - UTF-8
Blåbær er godt
- 25 - UTF-8
og i browserens kildekode
PHP:
<p>Blåbær er godt</p> - 23 - UTF-8<br>
<p>Blåbær er godt</p>
- 25 - UTF-8
Når det er samme tekst i begge stringene og samme charset, hvorfor telles det ikke like mange tegn? Hva må gjøres for at antall tegn fra string2 teller samme antall tegn som string1?