ホームページ  >  記事  >  バックエンド開発  >  PHP文字列

PHP文字列

不言
不言オリジナル
2018-04-23 16:32:011095ブラウズ

この記事で紹介する内容は、特定の参照値を持つ PHP 文字列に関するもので、必要な友達はそれを参照してください

iconv_strlen で文字数を取得します
//現在のページのエンコーディングであると仮定します。 is GBK

<?php
$str="中国abc";
echo strlen($str); //返回7,因为 GBK编码每个中文两个字节,strlen是返回字符串所占的字节长度。
echo "<hr>";
echo iconv_strlen($str,"GBK"); //返回5.iconv_strlen 是统计字符串的字符数量
?>

//現在のページのエンコーディングがUTF-8であると仮定します

<?php
$str="中国abc";
echo strlen($str); //返回9,因为 UTF-8编码每个中文三个字节,strlen是返回字符串所占的字节长度。
echo "<hr>";
echo iconv_strlen($str,"UTF-8"); //返回5.iconv_strlen 是统计字符串的字符数量
?>

iconv_strlenは、エンコーディングが何であっても正確な文字数を計算できることを意味します。

mb_strlen — 文字列の長さを取得する
PHP の組み込み文字列長関数 strlen は、中国語の文字列を正しく処理できません。文字列が占有するバイト数のみを取得します。
GB2312 中国語エンコードの場合、strlen によって取得される値は中国語の文字数の 2 倍ですが、UTF-8 エンコードされた中国語の場合、その差は 3 倍になります (UTF-8 エンコードでは、1 つの中国語文字が 3 バイトを占有します)。
mb_strlen 関数を使用すると、この問題をより適切に解決できます。
mb_strlen の使用法は strlen と似ていますが、文字エンコーディングを指定する 2 番目のオプションのパラメーターがある点が異なります。
たとえば、UTF-8 文字列 $str の長さを取得するには、mb_strlen($str,'UTF-8') を使用できます。
2 番目のパラメータを省略すると、PHP の内部エンコーディングが使用されます。内部エンコーディングは、mb_internal_encoding() 関数を通じて取得できます。
mb_strlen は PHP のコア関数ではないことに注意してください。これを使用する前に、php_mbstring.dll が php.ini にロードされていることを確認する必要があります。つまり、「extension=php_mbstring.dll」という行が含まれていることを確認してください。存在し、コメントアウトされていない場合は、関数の定義に関するエラー メッセージが表示されます。
mb_strlen('abcdef','utf-8') と mb_strlen('one two three four six', 'utf-8') は両方とも 6 に等しい

trim
echo trim(",1,2,3 ,4 ,", ","); // 両端の「,」数字が切り取られた1,2,3,4が得られます。

strcmp() 関数は 2 つの文字列を比較します。
注: strcmp() 関数はバイナリセーフであり、大文字と小文字が区別されます。
この関数は次の値を返します:
0 - 2 つの文字列が等しい場合
75a55d51c59675354de82ffa901260330 - string1 が string2 より大きい場合

HTML 関連
1,htmlspecialchars($string)
This単純な使用法では、文字列内のいくつかの特殊文字 (名前が示すように) &,',"6580843315dd7804e35fd3743df832ea を対応する HTML エンティティ形式に変換します。
PHP:

  $str = "i love kiki, iwind said.";
    echo htmlspecialchars($str);


i love 49975ae41b6b3d8b7c88cccd6aa288a6kikie6e38b3c62e8df885fe2e3986461aa63、iwind 氏は言いました。
2,htmlentities($string)
エンティティ形式に変換できるすべての文字をエンティティ形式に変換します
3,html_entity_decode($string);
。 PHP4。3.0 以降に追加されました。
4,nl2br($string)
は文字列内のすべての改行文字を
+ 改行文字に変換します。例:

 PHP:
    $str = "i love kiki,/n iwind said.";
    echo nl2br($str);

が出力されます。

私はキキが大好きです
iwind は言いました

関連する推奨事項:

PHP 文字列エンコードの問題の詳細な説明


以上がPHP文字列の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。