首頁 >後端開發 >PHP問題 >php string轉換函數有哪些

php string轉換函數有哪些

藏色散人
藏色散人原創
2020-11-25 09:50:451895瀏覽

php string轉換函數有:1、addcslashes函數,使用反斜線轉義給定字串中屬於給定清單中的字元;2、addslashes函數,使用反斜線引用字串;3 、bin2hex函數,把字串的二進位字串轉換為十六進位字串等等。

php string轉換函數有哪些

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

以上是php string轉換函數有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn