Home >Backend Development >PHP Problem >What are the php string conversion functions?

What are the php string conversion functions?

藏色散人
藏色散人Original
2020-10-09 09:21:423134browse

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

What are the php string conversion functions?

推荐:《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";
?>

 

The above is the detailed content of What are the php string conversion functions?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn