• 技术文章 >后端开发 >PHP问题

    php 转换字符串函数有哪些

    藏色散人藏色散人2020-10-09 09:21:42原创55

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

    推荐:《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['.']", 'A..z')."\n";
    echo stripcslashes("\z\o\o\['.'\]")."\n";
    echo addcslashes("zoo['.']", 'z..A')."\n";
    echo addslashes("what's this?")."\n";
    echo addslashes("This is a NULL character: \x00")."\n";
    echo bin2hex("Hello")."\n";
    echo dechex(ord('H')).dechex(ord('e')).dechex(ord('l')).dechex(ord('l')).dechex(ord('o'))."\n";
    echo chr(65)."\n";
    echo chr(321)."\n";
    echo convert_uuencode("hellophp");
    echo convert_uudecode("(:&5L;&]P:'``
    `")."\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'hello'>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中文网其它相关文章!

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!
    专题推荐:php
    上一篇:php如何去掉指定字符串 下一篇:iis怎么部署php网站
    第13期线上培训班

    相关文章推荐

    • php如何转换文件编码• php如何转换成html• php html如何转换 text• PHP中数据类型如何转换

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网