php 字串函數教程與執行個體代碼

來源:互聯網
上載者:User

在php中字串函數有很多哦,在說了php本來就是由函數組成了,這讓開發人員可以加快網站的開發速度哦,好了費話不說多了我們來看看我為各位朋友免費提供的php 字串函數教程與執行個體代碼吧。

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: 將字串每個字第一個字母改大寫。


下面來看看php字串函數的執行個體吧。

josh@superfork.com (22-Jun-1999) 寫了一個函數,可將十六進位轉成二進位。
<?
function hex2bin($data) {
$len = strlen($data);
for($i=0;$i&lt;$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 ("rn")。返回新字串而不改動原字串。
使用範例
將字串 $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 系列平台上無法直接處理麥金塔的檔案格式,因為換行字元不同。blake@mediaone.net 指出 (07-Jun- 1999),參數 filename 也可以是 URL,函數將抽出遠端伺服器的檔案 meta 標記。而函數在處理時,遇到 < /head> 標記結束,要是 <meta ....> 標記放在 </head> 後將無法處理。
文法: string htmlspecialchars(string string);
傳回值: 字串
函數種類: 資料處理
內容說明: 本函數將特殊字元轉成 HTML 的字串格式 ( &....; )。最常用到的場合可能就是處理客戶留言的留言版了。
& (和) 轉成 &
" (雙引號) 轉成 "
< (小於) 轉成 &lt;
> (大於) 轉成 &gt;
此函數只轉換上面的特殊字元,並不會全部轉換成 HTML 所定的 ASCII 轉換。
使用範例
這是 aulbach@unter.franken.de (27-Jan-1999) 所提供的範例
<FORM ACTION=bla>
<H2>Restaurant Description<H2>
Name of restaurant:
<INPUT TYPE=text VALUE="&lt;?
echo HTMLSpecialChars($restname); ?>"&gt;
<!-- 變數 $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 '&lt;a href="ftp://guest:', rawurlencode ('foo @+%/'), '@localhost/x.txt">';
?&gt;
參考: rawurldecode()

傳回值: 字串
函數種類: 作業系統與環境
內容說明: 本函數用來配置地區的資訊。參數 category 有下列的選擇:
LC_ALL 包括下面的全項選項都要。
LC_COLLATE 配置字串比較,PHP 目前尚未實作出來本項。
LC_CTYPE 配置字元類別及轉換。例如全變大寫 strtoupper()。
LC_MONETARY 配置金融貨幣,PHP 目前尚未實作。
LC_NUMERIC 配置小數點後的位元。
LC_TIME 配置時間日期格式,與 strftime() 合用。
而參數 locate 若是Null 字元串 "",則會使用系統內容變數的 locate 或是 LANG 的值。若 locate 為零,則不會改變地區化配置。返回新的地區,若系統尚未實作則返回 false。
使用範例
Michal Fita <manveru@witrynka.pl> 於 11-Jan-1999 11:01 提出這個以波蘭作地區化的例子。
<?
setlocale("LC_ALL", "pl");
$net = "1234,56";
$gross = "1,22" * $net;
printf("毛利: %s, 淨利: %s", $gross, $net");
/* 波蘭總?/font>[值稅為 22% */
?&gt;
傳回值則為
毛利: 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")=$str2n";
echo "值均為 $str1";
?>
上例返回的字串為
soundex("Wilson")=W425 等於
soundex("Waillsume")=W425
值均為 W425
傳回值: 字串
函數種類: 資料處理
內容說明: 本函數用來將字串格式化。參數 format 是轉換的格式,以百分比符號 % 開始到轉換字元為止。而在轉換的格式間依序包括了
填Null 字元。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&lt;br>";
$tok = strtok(" ");
}
?&gt;
參考: split() explode()
傳回值: 字串
函數種類: 資料處理
內容說明: 本函數將字串 str 全部變小寫字串。
參考: strtoupper() ucfirst()
傳回值: 字串
函數種類: 資料處理
內容說明: 本函數將字串 str 全部變大寫字串。
參考: strtolower() ucfirst()
傳回值: 字串
函數種類: 資料處理
內容說明: 本函數將字串 str 代入 haystack 字串中,將所有的 needle 置換成 str。 mlevine@adtraq.com (11-Apr-1999) 指出在 PHP 3.0.7 版,本函數有些 bug,而 nadeem@bleh.org (05-Jun-1999) 補充在 PHP 3.0.8 版本函數就回複正常了。
使用範例
下例將 %body% 以 black 取代
<?php
$bodytag = str_replace("%body%", "black", "&lt;body text=%body%>");
echo $bodytag;
?&gt;
參考: 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 每個字的字首字母全都改成大寫。


1)echo,print,printf,sprintf

前兩個函數是輸出字串.字串中如果有變數名則被替換成其值.

後兩個函數類似於C的同名函數.

(2)strchr,strlen,strtok,strrchr,strrev,strstr,strtolower,

strtoupper,substr,ucfirst

這些是常用的字串操作函數,有些和C中的同名函數意義完全一致.

strrev是把一個字串翻轉.

strtolower和strtoupper的意思應該不用解釋了.

ucfirst是把字串的第一個字元變成大寫.

substr是返回字串的一個子串,用法是:substr(字串,頭,長度).

頭位置是 從0算起的.如果是負數,則是從尾部向前數的意思.

(3)Chr,Ord

類似於C的同名函數.

(4)explode,implode,join

這些是和數組有關的函數.

explode(字串,分割符)返回一個將字串在分割符處分開所產生的數組.

implode(數組,分割符)返回一個將數組各元素之間插上分割符而成的字串.

join與implode意義相同.

(5)Chop

去掉字串尾部的空白.

(6)htmlspecialchars

將字串中的HTML特殊字元換成它們的名字,例如"<"變成"<".

(7)nl2br

在字串中的每一個斷行符號前面加上"<BR>".

(8)AddSlashes,StripSlashes

分別給字串中需要加上"\"才能用於資料庫查詢的字元加上和去掉"\".

(9)parse_str

將"name1=value1&name2=value2&..."類型的字串分析成一些變數.

例如:
parse_str("a=1&b=2");

產生a與b兩個變數,值分別為1,2.

如果有兩對名字/值的名字部分相同,則後一個的值覆蓋前一個的.

如果這兩對的名字尾部都有"[]",例如"a[]=1&a[]=2",則產生數組a,兩個元素分別為1,2

好了文章寫了一大堆了,希望這些字串函數的執行個體能給你帶來協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.