注意:這裡隻提供部分函數的使用方式,如有不懂可以複制函數名到百度搜尋詳情,謝謝!
AddSlashes: 字元串加入斜線。
bin2hex: 二進位轉成十六進位。
Chop: 去除連續空白。
Chr: 傳回序數值的字元。
chunk_split: 将字元串分成小段。
convert_cyr_string: 轉換古斯拉夫字元串成其它字元串。
crypt: 将字元串用 DES 編碼加密。
echo: 輸出字元串。
explode: 切開字元串。
flush: 清出輸出緩沖區。
get_meta_tags: 抽出檔案所有 meta 标記的資料。
htmlspecialchars: 将特殊字元轉成 HTML 格式。
htmlentities: 将所有的字元都轉成 HTML 字元串。
implode: 将數組變成字元串。
join: 将數組變成字元串。
ltrim: 去除連續空白。
md5: 計算字元串的 MD5 哈稀。
nl2br: 将換行字元轉成 <br>。
Ord: 傳回字元的序數值。
parse_str: 解析 query 字元串成變量。
print: 輸出字元串。
printf: 輸出格式化字元串。
quoted_printable_decode: 将 qp 編碼字元串轉成 8 位字元串。
QuoteMeta: 加入引用符号。
rawurldecode: 從 URL 專用格式字元串還原成普通字元串。
rawurlencode: 将字元串編碼成 URL 專用格式。
setlocale: 配置地域化資訊。
similar_text: 計算字元串相似度。
soundex: 計算字元串的讀音值
sprintf: 将字元串格式化。
strchr: 尋找第一個出現的字元。
strcmp: 字元串比較。
strcspn: 不同字元串的長度。
strip_tags: 去掉 HTML 及 PHP 的标記。
StripSlashes: 去掉反斜線字元。
strlen: 取得字元串長度。
strrpos: 尋找字元串中某字元最後出現處。
strpos: 尋找字元串中某字元最先出現處。
strrchr: 取得某字元最後出現處起的字元串。
strrev: 颠倒字元串。
strspn: 找出某字元串落在另一字元串遮罩的數目。
strstr: 傳回字元串中某字元串開始處至結束的字元串。
strtok: 切開字元串。
strtolower: 字元串全轉為小寫。
strtoupper: 字元串全轉為大寫。
str_replace: 字元串取代。
strtr: 轉換某些字元。
substr: 取部份字元串。
trim: 截去字元串首尾的空格。
ucfirst: 将字元串第一個字元改大寫。
ucwords: 将字元串每個字第一個字母改大寫。
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數使需要讓資料庫處理的字元串,引号的部份加上斜線,以供資料庫查詢 (query) 能順利運作。這些會被改的字元包括單引号 (')、雙引号 (")、反斜線 backslash (\) 以及空字元 NUL (the null byte)。
參考: stripslashes() htmlspecialchars() quotemeta()
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數讓二進位字元串轉成十六進位字元串。
使用範例
補充:
[email protected] (22-Jun-1999) 寫了一個函數,可将十六進位轉成二進位。
<?
function hex2bin($data) {
$len = strlen($data);
for($i=0;$i<$len;$i+=2) {
$newdata .= pack("C",hexdec(substr($string,$i,2)));
}
return $newdata;
}
?>
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數将字元串的連續空白清除。
使用範例
<?
$trimmed = Chop($line);
?>
參考: trim()
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數将字元的序數轉成 ASCII 的字元。本函數和 ord() 成對照。
使用範例
<?
$str .= chr(27);
$str = sprintf("字元串的結束字元是: %c", 27);
?>
參考: ord() sprintf()
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數将字元變成小段供其它函數使用。例如,base64_encode。内定是參數 chunklen (76 個字元) 每隔 76 個字元插入 end ("\r\n")。傳回新字元串而不改動原字元串。
使用範例
将字元串 $data 格式化成 MIME BASE64 格式
<?
$new_string = chunk_split(base64_encode($data));
?>
參考: ereg_replace()
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數将古斯拉夫字元串轉成其它的字元串。from 及 to 二個參數是字元,其代表意義如下:
k - koi8-r
w - windows-1251
i - iso8859-5
a - x-cp866
d - x-cp866
m - x-mac-cyrillic
文法: string crypt(string str, string [salt]);
傳回值: 字元串
函數種類: 編碼處理
内容說明: 本函數将字元串用 UNIX 的标準加密 DES 子產品加密。這是單向的加密函數,無法解密。欲比對字元串,将已加密的字元串的頭二個字元放在 salt 的參數中,再比對加密後的字元串。
更詳細的資料請參考 UNIX Manual (man) 中的 crypt。
在一些較新的 UNIX 版本中,除了 DES 之外還提供了其它的加密子產品,如 MD5。甚至有些系統還用 MD5 取代 DES。在 salt 參數還有一些變化,端看傳給 salt 參數的字元串長度而定:
CRYPT_STD_DES - 标準的 DES 編碼,輸入 2 字元的 salt。
CRYPT_EXT_DES - 延伸的 DES 編碼,輸入 9 字元的 salt。
CRYPT_MD5 - MD5 編碼,輸入 12 字元加上 $1$ 的 salt。
CRYPT_BLOWFISH - 延伸的 DES 編碼,輸入 16 字元加上 $2$ 的 salt。
此外,若不使用 salt 參數,則程式會自動産生。
傳回值: 無
函數種類: PHP 系統功能
内容說明: 本函數将字元串輸出。由于它不是真正的函數,是以也沒有傳回值。
使用範例
<?php
echo "Hello World";
?>
參考: print() printf() flush()
傳回值: 數組
函數種類: 資料處理
内容說明: 本函數将字元串依指定的字元串或字元 separator 切開。将切開後的字元串傳回到數組變量中。
使用範例
<?
$pizza = "第一片 第二片 第三片 第四片 第五片 第六片";
$pieces = explode(" ", $pizza);
?>
參考: implode()
傳回值: 無
函數種類: 資料處理
内容說明: 本函數無輸入亦無輸出。将輸出緩沖區的資料送出,并清出。
文法: array get_meta_tags(string filename, int [use_include_path]);
傳回值: 數組
函數種類: 資料處理
内容說明: 本函數将 homepage 中的所有 <meta ......> 标記的資料取出并放置數組變量傳回。例如
<html>
<head>
<meta content="彭武興">
<meta content="PHP BIBLE">
<title>PHP BIBLE</title>
</head><!-- 本函數處理隻到這兒結束 -->
本函數找出 meta 标記,name 屬性的字元串為數組索引,而 content 屬性字元串則為數組的内容資料了。治募注意的是本函數為 PHP 原生函數,在 UNIX 系列平台上無法直接處理麥金塔的檔案格式,因為換行字元不同。[email protected] 指出 (07-Jun-1999),參數 filename 也可以是 URL,函數将抽出遠端伺服器的檔案 meta 标記。而函數在處理時,遇到 </head> 标記結束,要是 <meta ....> 标記放在 </head> 後将無法處理。
文法: string htmlspecialchars(string string);
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數将特殊字元轉成 HTML 的字元串格式 ( &....; )。最常用到的場合可能就是處理客戶留言的留言版了。
& (和) 轉成 &
" (雙引号) 轉成 "
< (小于) 轉成 <
> (大于) 轉成 >
此函數隻轉換上面的特殊字元,并不會全部轉換成 HTML 所定的 ASCII 轉換。
使用範例
這是 [email protected] (27-Jan-1999) 所提供的範例
<FORM ACTION=bla>
<H2>Restaurant Description<H2>
Name of restaurant:
<INPUT TYPE=text VALUE="<?
echo HTMLSpecialChars($restname); ?>">
<!-- 變量 $restname 是醬子的 $restname="\"The White Horse\""; -->
<BR>
輸入描述 (若您會 HTML,可直接使用): <BR>
<TEXTAREA ><?
echo HTMLSpecialChars($descript);
?></TEXTAREA>
<INPUT TYPE=submit>
</FORM>
參考: htmlentities() nl2br()
文法: string htmlentities(string string);
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數有點像 htmlspecialchars() 函數,但本函數會将所有 string 的字元都轉成 HTML 的特殊字集字元串。不過在轉換後閱讀網頁源代碼的方面,會有很多困擾,尤其是網頁源代碼的中文字會變得不知所雲,浏覽器上看到的還是正常的。
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數将數組的内容組合成一個字元串,參數 glue 是字之間的分隔符号。
使用範例
<?
$colon_separated = implode(":", $array);
echo $colon_separated;
?>
參考: explode() join() split()
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數是 implode 函數的别名。
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數用來删去字元串中的連續空白帶 (whitespace)。
文法: string md5(string str);
傳回值: 字元串
函數種類: 編碼處理
内容說明: 本函數用來計算 MD5 哈稀。關于 MD5 編碼法,可以參考 RSA Data Security, Inc. MD5 Message-Digest Algorithm. RFC1321;或是賴溪松、韓亮、張真誠等合着之近代密碼學及其應用,11.3。
文法: string nl2br(string string);
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數将換行字元轉換成 HTML 換行的 <br> 指令。
參考: htmlspecialchars() htmlentities()
傳回值: 整數
函數種類: 資料處理
内容說明: 本函數傳回字元的 ASCII (美國國家标準交換碼) 序數值。本函數和 chr() 函數相反。
使用範例
<?php
if (ord($str) == 10) {
echo("字元串 \$str 的第一個字是換行字元。\n");
}
?>
參考: chr()
文法: void parse_str(string str);
傳回值: 無
函數種類: 資料處理
内容說明: 本函數可将浏覽器傳回的 GET 方法的 QUERY_STRING 字元串解析。傳回的變量名及值就依 QUERY_STRING 的名稱及值。
使用範例
<?php
$str = "first=value&second[]=this+works&second[]=another";
parse_str($str);
echo $first; // 顯示出 "value" 字元串
echo $second[0]; // 顯示 "this works" 字元串
echo $second[1]; // 顯示 "another" 字元串
?>
傳回值: 布爾值
函數種類: 資料處理
内容說明: 本函數輸出字元串。若成功則傳回 1,失敗則傳回 0。例如傳輸中途客戶的浏覽器突然挂了,則會造成輸出失敗的情形。
參考: echo() printf() flush()
傳回值: 整數
函數種類: 資料處理
内容說明: 本函數依參數 format 指定的内容格式将字元串格式化。格式的細節可以參考 sprintf()。
參考: print() sprintf() flush()
文法: string quoted_printable_decode(string str);
傳回值: 字元串
函數種類: 編碼處理
内容說明: 本函數可以将 quoted-printable 後的字元串解碼成為 8 位編碼的字元串。而本函數類似 imap_qprint() 函數,隻一不同的地方是使用 imap_qprint() 函數需要讓系統加入 IMAP 的子產品,而本函數不需要 IMAP 子產品。
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數将字元串中含有 . \\ + * ? [ ^ ] ( $ ) 等字元的前面加入反斜線 "\" 符号。
參考: addslashes() htmlentities() htmlspecialchars() nl2br() stripslashes()
文法: string rawurldecode(string str);
傳回值: 字元串
函數種類: 編碼處理
内容說明: 本函數将字元串解碼。從 URL 的字元串專用格式解成普通字元串。詳細的編碼解碼資訊及規格檔案可以參考 RFC 1738。
參考: rawurlencode()
文法: string rawurldecode(string str);
傳回值: 字元串
函數種類: 編碼處理
内容說明: 本函數将字元串編碼成 URL 的字元串專用格式,特殊的字元會轉換成百分比符号後面加上二個十六位數字的格式。例如,空格就會變成 %20。
使用範例
<?php
echo '<a href="ftp://guest:', rawurlencode ('foo @+%/'), '@localhost/x.txt">';
?>
參考: rawurldecode()
傳回值: 字元串
函數種類: 作業系統與環境
内容說明: 本函數用來配置地域的資訊。參數 category 有下列的選擇:
LC_ALL 包括下面的全項選項都要。
LC_COLLATE 配置字元串比較,PHP 目前尚未實作出來本項。
LC_CTYPE 配置字元類别及轉換。例如全變大寫 strtoupper()。
LC_MONETARY 配置金融貨币,PHP 目前尚未實作。
LC_NUMERIC 配置小數點後的位數。
LC_TIME 配置時間日期格式,與 strftime() 合用。
而參數 locate 若是空字元串 "",則會使用系統環境變量的 locate 或是 LANG 的值。若 locate 為零,則不會改變地域化配置。傳回新的地域,若系統尚未實作則傳回 false。
使用範例
Michal Fita <[email protected]> 于 11-Jan-1999 11:01 提出這個以波蘭作地域化的例子。
<?
setlocale("LC_ALL", "pl");
$net = "1234,56";
$gross = "1,22" * $net;
printf("毛利: %s, 淨利: %s", $gross, $net");
?>
傳回值則為
毛利: 1234,56, 淨利: 1506,1632
傳回值: 整數
函數種類: 資料處理
内容說明
本函數用來計算比較二字元串的相似程度。
傳回值: 字元串
函數種類: 資料處理
内容說明: Soundex 值是利用英文字的讀音近似值所求得的值,值由四個字元構成,第一個字元為英文字母,後三個為數字。在拼音文字中有時會有會念但不能拼出正确字的情形,特别是在做搜尋引擎時面對使用者傳入的英文字元串,可用本函數做類似模糊比對的效果。例如 Knuth 和 Kant 二個字元串,它們的 soundex 值都是 H416。更詳細的說明參考 Donald Knuth 大師的名著:電腦程式設計的藝術 (The Art Of Computer Programming) 第三卷排序和搜尋。
使用範例
<?
$str1=soundex("Wilson");
$str2=soundex("Waillsume");
echo "soundex(\"Wilson\")=$str1 等于\n";
echo "soundex(\"Waillsume\")=$str2\n";
echo "值均為 $str1";
?>
上例傳回的字元串為
soundex("Wilson")=W425 等于
soundex("Waillsume")=W425
值均為 W425
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數用來将字元串格式化。參數 format 是轉換的格式,以百分比符号 % 開始到轉換字元為止。而在轉換的格式間依序包括了
填空字元。0 的話表示空格填 0;空格是預設值,表示空格就放着。
對齊方式。預設值為向右對齊,負号表向左對齊。
字段寬度。為最小寬度。
精确度。指在小數點後的浮點數位數。
類型,見下表 % 印出百分比符号,不轉換。
b 整數轉成二進位。
c 整數轉成對應的 ASCII 字元。
d 整數轉成十進位。
f 倍精确度數字轉成浮點數。
o 整數轉成八進位。
s 整數轉成字元串。
x 整數轉成小寫十六進位。
X 整數轉成大寫十六進位。
使用範例
<?
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// 此時變量 $money 值為 "123.1";
$formatted = sprintf ("%01.2f", $money);
// 此時變量 $ formatted 值為 "123.10"
?>
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數也就是 strstr() 函數。
傳回值: 整數
函數種類: 資料處理
内容說明: 本函數用來比較二字元串的大小。傳回負數表示 str1 小于 str2;傳回正數表示 str1 大于 str2;傳回零表示二字元串相同。
參考: ereg() substr() strstr()
傳回值: 整數
函數種類: 資料處理
内容說明: 本函數用來比較二字元串并計算出不同處的字元串長度。
參考: strspn()
文法: string strip_tags(string str);
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數可去掉字元串中包含的任何 HTML 及 PHP 的标記字元串。若是字元串的 HTML 及 PHP 标簽原來就有錯,例如少了大于的符号,則也會傳回錯誤。而本函數和 fgetss() 有着相同的功能。
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數可去掉字元串中的反斜線字元。若是連續二個反斜線,則去掉一個,留下一個。若隻有一個反斜線,就直接去掉。
參考: addslashes()
傳回值: 整數
函數種類: 資料處理
内容說明: 本函數傳回指定的字元串長度。
傳回值: 整數
函數種類: 資料處理
内容說明: 本函數用來尋找字元串 haystack 中的字元 needle 最後出現的位置。值得注意的是 needle 隻能是一個字元,中文字等就不适合了。若找不到指定的字元,則傳回 false 值。
參考: strpos() strrchr() substr() strstr()
傳回值: 整數
函數種類: 資料處理
内容說明: 本函數用來尋找字元串 haystack 中的字元 needle 最先出現的位置。值得注意的是 needle 隻能是一個字元,中文字等就不适合了。若找不到指定的字元,則傳回 false 值。參數 offset 可省略,用來Y表示從 offset 開始找。
參考: strrpos() strrchr() substr() strstr()
傳回值: 整數
函數種類: 資料處理
内容說明: 本函數用來尋找字元串 haystack 中的字元 needle 最後出現位置,并将此位置起至字元串 haystack 結束之間的字元串傳回。若沒有找到 needle 則傳回 false。
使用範例
下例取回環境變量 PATH 之最後一個路徑
<?php
$dir = substr( strrchr( $PATH, ":" ), 1 );
echo "最後的路徑為: ".$dir;
?>
參考: substr() strstr()
傳回值: 字元串
函數種類: 資料處理
内容說明: 将字元串前後颠倒。
使用範例
下例的傳回字元串為 "gneP nosliW"
<?
$str=strrev("Wilson Peng");
echo $str;
?>
傳回值: 整數
函數種類: 資料處理
内容說明: 本函數将 str2 字元串當遮罩,可用來計算 str1 字元串中有幾個字元落在 str2 遮罩中。
參考: strcspn()
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數将 needle 最先出現在 haystack 處起至 haystack 結束的字元串傳回。若找不到 needle 則傳回 false。
參考: strrchr() substr() ereg()
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數将字元串 arg1 依字元串 arg2 的值切開成小段小段的字元串。
使用範例: 本例将 I will be back 字元串依空白切開。
<?php
$string = "I will be back";
$tok = strtok($string," ");
while($tok) {
echo "單字=$tok<br>";
$tok = strtok(" ");
}
?>
參考: split() explode()
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數将字元串 str 全部變小寫字元串。
參考: strtoupper() ucfirst()
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數将字元串 str 全部變大寫字元串。
參考: strtolower() ucfirst()
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數将字元串 str 代入 haystack 字元串中,将所有的 needle 置換成 str。[email protected] (11-Apr-1999) 指出在 PHP 3.0.7 版,本函數有些 bug,而 [email protected] (05-Jun-1999) 補充在 PHP 3.0.8 版本函數就回複正常了。
使用範例
下例将 %body% 以 black 取代
<?php
$bodytag = str_replace("%body%", "black", "<body text=%body%>");
echo $bodytag;
?>
參考: ereg_replace()
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數将字元串 str 中和 from 有關的字元一一轉成 to 的字元。
參考: ereg_replace()
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數将字元串 string 的第 start 位起的字元串取出 length 個字元。若 start 為負數,則從字元串尾端算起。若可省略的參數 length 存在,但為負數,則表示取到倒數第 length 個字元。
使用範例
<?
echo substr("abcdef", 1, 3); // 傳回 "bcd"
echo substr("abcdef", -2); // 傳回 "ef"
echo substr("abcdef", -3, 1); // 傳回 "d"
echo substr("abcdef", 1, -1); // 傳回 "bcde"
?>
參考: strrchr() ereg()
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數傳回字元串 string 首尾的空白字元去除後的字元串。
參考: chop() ltrim()
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數傳回字元串 str 第一個字的字首字母改成大寫。
參考: strtoupper() strtolower()
傳回值: 字元串
函數種類: 資料處理
内容說明: 本函數傳回字元串 str 每個字的字首字母全都改成大寫。