Maison >développement back-end >Problème PHP >Quelles sont les fonctions de conversion de chaîne php ?

Quelles sont les fonctions de conversion de chaîne php ?

藏色散人
藏色散人original
2020-10-09 09:21:423143parcourir

php转换字符串函数有:1、addcslashes函数;2、addslashes函数;3、bin2hex函数;4、chr函数;5、convert_uuencode函数等等。

Quelles sont les fonctions de conversion de chaîne php ?

推荐:《PHP视频教程》 

PHP字符串转换函数

addcslashes:以C语言风格使用反斜杠转义给定字符串中属于给定列表中的字符,此函数接受两个参数,第一个是要进行转义的字符串,第二个是需要进行转义的字符列表,并返回转义后的字符串,即属于转义字符列表中的字符前都加上了反斜杠。如果转义字符列表中包含\n、\r等字符,将以C语言风格转换,而其它非字母数字且ASCII码低于32以及高于126的字符均转换成使用八进制表示。当定义转义列表时可以通过在两个字符中间加上两个点来表示范围,范围内的字符都会被转义,在使用此种方式时要清除定义的范围内是否都是想要转义的字符,如果设置范围的结束字符ASCII码低于开始字符,则会产生警告并且不会创建范围,而是将开始字符、结束字符及其中的所有字符逐个转义。

addslashes:使用反斜杠引用字符串,接收一个参数,要转义的字符串,返回转义后的字符串,转义的目的是为了数据库查询语句等需要在某些字符前加反斜杠,这些字符有单引号、双引号、反斜杠与NUL字符。

bin2hex:把字符串的二进制字符串转换为十六进制字符串,转换使用字节方式,高四位字节优先。等价于将单个字符做dechex(ord())。

chr:返回指定的字符,接收一个参数,返回对应于此参数的ascii码所指定的单个字符,与ord()是互补的。如果传入的值大于256将会返回对256取模后的数字对应的ascii码所指定的单个字符。

convert_cyr_string:将西里尔(Cyrillic)字符从一种字符集转换为另一种字符集,接受三个参数,要转换的字符串,原始的字符集类型,新的字符集类型,返回转换后的字符串。字符集类型为单个字符,k(koi8-r)、w(windows-1251)、i(iso8859-5)、a(x-cp866)、d(x-cp866)、m(x-mac-cyrillic)。

convert_uudecode:解码一个 uuencode 编码的字符串,接受一个uuencode编码的字符串,返回解码后的字符串,如果解码失败返回false。

convert_uuencode:使用uuencode算法对一个字符串进行编码,接受一个要进行编码的字符串,返回编码后的字符串,如果编码失败返回false。

hex2bin:将十六进制字符串转换为二进制字符串, 接受一个十六进制字符串,返回转换后的给定字符串的二进制表示的字符串。此方法不是将十六进制数字转换为二进制数字。与bin2hex互逆。

html_entity_decode:将HTML实体转换为适当的字符。接受三个参数,第一个为必需的要转换的字符串,第二个为可选的标记位,指定了如何处理引号和使用哪种文档类型,默认值是ENT_COMPAT|ENT_HTML401,第三个参数是可选的指定转换字符时使用的编码。如果省略,PHP5.6起,php.ini配置项default-charset的值为默认值,PHP5.4、5.5默认为UTF-8,再之前默认为ISO-8859-1。返回转换后的字符。

htmlentities:将字符转换为HTML转义字符。接受四个参数,第一个参数为必需的要转换的字符串,第二、第三个参数与html_entity_decode函数相同,第四个参数为可选的布尔类型值,如果为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";
?>

 

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn