ホームページ  >  記事  >  バックエンド開発  >  PHPの文字列変換関数とは何ですか?

PHPの文字列変換関数とは何ですか?

藏色散人
藏色散人オリジナル
2020-11-25 09:50:451853ブラウズ

php 文字列変換関数には次のものが含まれます: 1. addcslashes 関数 (バックスラッシュを使用して指定された文字列内の指定されたリストに属する文字をエスケープします); 2. addslashes 関数 (バックスラッシュを使用して文字列を引用符で囲む); 3 、bin2hex 関数、文字列のバイナリ文字列を 16 進文字列に変換するなど。

PHPの文字列変換関数とは何ですか?

推奨: 「PHP ビデオ チュートリアル

PHP 文字列変換関数は次のとおりです:

addcslashes: C 言語スタイルで指定されたリストに属する指定された文字列内の文字をエスケープするには、バックスラッシュを使用します。この関数は 2 つのパラメータを受け入れます。最初のパラメータはエスケープされる文字列です。 、2 番目はエスケープする必要がある文字のリストで、エスケープされた文字列が返されます。つまり、エスケープされた文字リストに属する文字の前にはバックスラッシュが付きます。エスケープ文字リストに \n や \r などの文字が含まれている場合、それらは C 言語スタイルに変換されますが、ASCII コードが 32 より小さく 126 より大きい他の非英数字文字は 8 進数表現に変換されます。エスケープ リストを定義する場合、2 つの文字の間に 2 つのドットを追加することで範囲を表現できます。範囲内の文字がエスケープされます。この方法を使用する場合は、定義された範囲内のすべての文字をエスケープするかどうかを選択する必要があります。設定範囲の終了文字の ASCII コードが開始文字より小さい場合、警告が生成され、範囲は作成されず、開始文字、終了文字、およびその中のすべての文字が作成されます。一人ずつ逃げられる。

addslashes: バックスラッシュを使用して文字列を引用し、パラメータ、エスケープする文字列を受け取り、エスケープされた文字列を返します。エスケープの目的はデータベース クエリ ステートメント用です。特定の文字の前にバックスラッシュ。これらの文字には、一重引用符、二重引用符、バックスラッシュ、および NUL 文字が含まれます。

bin2hex: 文字列のバイナリ文字列を 16 進文字列に変換します。変換ではバイト モードが使用され、上位ニブルが優先されます。単一の文字に対して dechex(ord()) を実行するのと同じです。

chr: 指定された文字を返し、パラメータを受け取り、このパラメータに対応する ASCII コードで指定された単一の文字を返します。これは ord() を補完します。渡された値が 256 より大きい場合、256 を法とする数値に対応する ASCII コードで指定された 1 文字が返されます。

convert_cyr_string: キリル文字をある文字セットから別の文字セットに変換します。変換する文字列と元の文字セット タイプの 3 つのパラメータを受け取ります。新しい文字セット タイプは、戻り値を返します。変換された文字列。文字セット タイプは単一文字、k (koi8-r)、w (windows-1251)、i (iso8859-5)、a (x-cp866)、d (x-cp866)、m (x-mac-キリル文字)。

convert_uudecode: uuencode でエンコードされた文字列をデコードし、uuencode でエンコードされた文字列を受け入れ、デコードされた文字列を返します。デコードが失敗した場合は、false を返します。

convert_uuencode: uuencode アルゴリズムを使用して文字列をエンコードし、エンコードされる文字列を受け入れ、エンコードされた文字列を返します。エンコードが失敗した場合は、false を返します。

hex2bin: 16 進文字列をバイナリ文字列に変換し、16 進文字列を受け入れ、指定された文字列の変換されたバイナリ表現を返します。このメソッドは 16 進数を 2 進数に変換しません。 bin2hex と逆になります。

html_entity_decode: HTML エンティティを適切な文字に変換します。 3 つのパラメータを受け入れます。1 つ目は変換に必要な文字列です。2 つ目はオプションのフラグ ビットで、引用符の処理方法と使用するドキュメント タイプを指定します。デフォルト値は ENT_COMPAT|ENT_HTML401 です。3 つ目のパラメータはオプションでエンコーディングを指定します。文字を変換するときに使用します。省略した場合、PHP 5.6 以降、php.ini 設定項目の値がデフォルト値になります。PHP 5.4 および 5.5 のデフォルトは UTF-8 で、以前のデフォルトは ISO-8859-1 です。変換された文字を返します。

htmlentities: 文字を HTML エスケープ文字に変換します。 4 つのパラメータを受け入れます。最初のパラメータは、変換する必要な文字列です。2 番目と 3 番目のパラメータは、html_entity_decode 関数と同じです。4 番目のパラメータは、オプションのブール型の値です。false の場合、変換されません。既存HTML エンティティ、それ以外の場合はすべて変換され、デフォルトは true で、変換された文字が返されます。変換される文字列に指定されたエンコーディングで無効な単位シーケンスが含まれており、ENT_IGNORE または ENT_SUBSTITUTE タグが設定されていない場合、空の文字列が返されます。返品されることになります。

htmlspecialchars_decode:将特殊的HTML实体转为普通字符,接受两个参数,第一个为必需的要转换的字符串,第二个为可选的标记位,指定了如何处理引号和使用哪种文档类型,默认值为ENT_COMPAT|ENT_HTML401。返回转换后的字符串。被转换的实体有&, " (没有设置ENT_NOQUOTES 时), ' (设置了 ENT_QUOTES 时), < 以及>。

htmlspecialchars:将特殊字符转换为HTML实体,接受四个参数,与htmlentities函数相同。

ord:返回字符串的ascii码值,接受一个要转换的字符串,返回字符串的ascii值。

quoted_printable_decode:将quoted-printable字符串转换成8bit字符串。

quoted_printable_encode:将8bit字符串转换成quoted-printable字符串。

str_rot13:对字符串执行ROT13转换,忽略非字母表中的字符。如果传入的是编码后的字符,则返回的会是原始字符。

stripcslashes:反引用一个使用addcslashes()转义的字符串。

quotemeta:转义元字符集,将. \ + * ? [ ^ ] ( $ )字符前加反斜杠。如果输入的字符串为空则返回false。

<?php
echo addcslashes("zoo[&#39;.&#39;]", &#39;A..z&#39;)."\n";
echo stripcslashes("\z\o\o\[&#39;.&#39;\]")."\n";
echo addcslashes("zoo[&#39;.&#39;]", &#39;z..A&#39;)."\n";
echo addslashes("what&#39;s this?")."\n";
echo addslashes("This is a NULL character: \x00")."\n";
echo bin2hex("Hello")."\n";
echo dechex(ord(&#39;H&#39;)).dechex(ord(&#39;e&#39;)).dechex(ord(&#39;l&#39;)).dechex(ord(&#39;l&#39;)).dechex(ord(&#39;o&#39;))."\n";
echo chr(65)."\n";
echo chr(321)."\n";
echo convert_uuencode("hellophp");
echo convert_uudecode("(:&5L;&]P:&#39;``
`")."\n";
echo hex2bin("48656c6c6f")."\n";
$orig = "\"hello\" <b>world</b>";
$a = htmlentities($orig);
$b = html_entity_decode($a);
echo $a."\n"; // &quot;hello&quot; &lt;b&gt;world&lt;/b&gt;
echo $b."\n"; // "hello" <b>world</b>
$str = "\x8F!!!";
echo htmlentities($str, ENT_QUOTES, "UTF-8")."\n";//空字符串
echo htmlentities($str, ENT_QUOTES | ENT_IGNORE, "UTF-8")."\n";//!!!
$str = "<p>&lt;hello&gt;&quot;world&quot;</p>\n";
echo htmlspecialchars_decode($str);//<p><hello>"world"</p>
echo htmlspecialchars_decode($str, ENT_NOQUOTES);//<p><hello>&quot;world&quot;</p>
echo htmlspecialchars("<p&#39;hello&#39;>world</p>", ENT_QUOTES)."\n";//&lt;p&#039;hello&#039;&gt;world&lt;/p&gt;
echo ord("2")."\n";
echo str_rot13("hello,world!")."\n";
echo str_rot13("uryyb,jbeyq!")."$n"; = "HelloWorld!\n";
echo quotemeta("hello?")."\n";
?>

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

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