PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

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

  1. PHPのstrlen()関数

    strlen()関数は、文字列の長さを取得するために使用されます。成功すると文字列の長さを返します。文字列が空の場合、0が返されます。 構文 strlen(str) パラメータ str −長さを指定する文字列。 戻る strlen()関数は、成功すると文字列の長さを返します。文字列が空の場合、0が返されます。 例 以下は例です- <?php    echo strlen("Tom Hanks!"); ?> 出力 以下は出力です- 10

  2. PHPのstripslashes()関数

    stripslashes()関数は、引用符で囲まれた文字列の引用符を解除するために使用されます。 構文 stripslashes(str) パラメータ str −文字列を指定します。 戻る stripslashes()関数は、バックスラッシュが削除された文字列を返します。つまり、「\」は「」になります。二重の円記号(\\)は、単一の円記号(\)になります。 例 以下は例です- <?php    $mystr = "Tom\ Hanks";    echo stripslashes($mystr); ?>