strlen()php関数が間違った長さのUnicode文字を与えていますか?
正しい長さを取得するには、Unicode文字にmb_strlen()を使用します。
PHPコードは次のとおりです-
例
<?php $unicodeValues = 'JohnSmȉth'; echo "The string length with mb_strlen=",mb_strlen($unicodeValues, 'utf8'); echo "\n"; echo "The string length with strlen=",strlen($unicodeValues); ?>を使用した文字列の長さ
出力
The string length with mb_strlen=9 The string length with strlen=10
-
PHPのstrlen()関数
strlen()関数は、文字列の長さを取得するために使用されます。成功すると文字列の長さを返します。文字列が空の場合、0が返されます。 構文 strlen(str) パラメータ str −長さを指定する文字列。 戻る strlen()関数は、成功すると文字列の長さを返します。文字列が空の場合、0が返されます。 例 以下は例です- <?php echo strlen("Tom Hanks!"); ?> 出力 以下は出力です- 10
-
PHPのstripslashes()関数
stripslashes()関数は、引用符で囲まれた文字列の引用符を解除するために使用されます。 構文 stripslashes(str) パラメータ str −文字列を指定します。 戻る stripslashes()関数は、バックスラッシュが削除された文字列を返します。つまり、「\」は「」になります。二重の円記号(\\)は、単一の円記号(\)になります。 例 以下は例です- <?php $mystr = "Tom\ Hanks"; echo stripslashes($mystr); ?>