var_dump(htmlentities("<space>"));
returns string(21) "<space>",
21 chars huh ?
実際には、他の何かを返します。
<? var_dump(htmlentities("<space>")); ?>
string(21) "&lt;space&gt;"
あなたが見たのは、エスケープされた文字列のエスケープされていないバージョンでした:)。
空白または特別なフォーマットがあります。
"&lt;space&gt;"=21文字。
アンパサンドをHTMLエンティティに変換したためです。
& => &
だから、あなたは本当に文字列で終わった:
&lt;space&gt;
これは21文字です。
ブラウザでソースを表示して、上記の正確な文字列を確認できます。ソースを表示しない場合、ブラウザはに変換&されます。そのため&、が表示されるだけ<space>です。