php操作字符串函數(shù)

<?php

成都創(chuàng)新互聯(lián)公司長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為壺關(guān)企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、做網(wǎng)站,壺關(guān)網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

header('content-type:text/html;charset=utf-8;');

// addcslashes(str, charlist):函數(shù)在指定的字符前加反斜杠

// 注釋:在對 0,r,n 和 t 應(yīng)用 addcslashes() 時要小心。

// 在 PHP 中,\0,\r,\n 和 \t 是預(yù)定義的轉(zhuǎn)義序列。

//stripcslashes(string):刪除由addcslashes()函數(shù)添加的反斜杠

$str="Hello,my name is John Adams.";

echo $str;

echo '<br>';

echo addcslashes($str,'mi');

// addslashes(str):函數(shù)在指定的預(yù)定義字符前添加反斜杠

// 有單引號、雙引號,反斜杠、null等

// 注:默認情況下,php指令magic_quotes_gpc為on,對所有GET

// POST和COOKIE數(shù)據(jù)自動運行addslashes().不要對已經(jīng)被magic_quotes_gpc

// 轉(zhuǎn)義過的字符串使用addslashes(),因為這樣會導(dǎo)致雙層轉(zhuǎn)義。

// 遇到這種情況可以使用get_magic_quotes_gpc()進行檢測。

//stripslashes(str):刪除由addslashes函數(shù)添加的反斜杠

$str="Who's Jhon Adams?";

echo '<br>';

echo addslashes($str);

// quotemeta(str):函數(shù)在某些預(yù)定義的字符前添加反斜杠

// 預(yù)定義字符有:

// 句號 (.)

// 反斜杠 (\)

// 加號 (+)

// 星號 (*)

// 問號 (?)

// 方括號 ([])

// 脫字符號 (^)

// 美元符號 ($)

// 圓括號 (())

$str='Hello,(can you hear me?)';

echo '<br>';

echo quotemeta($str);

// chop(string,charlist):函數(shù)從字符串的末端開始刪除空白字符或其他預(yù)定義字符。

// 是rtrim()函數(shù)的別名。

// ltrim()從左邊

//trim()從兩邊

$str="Hello World!\r\t";

echo '<br>';

echo $str;

echo chop($str);

// chr(ascii):函數(shù)從指定的ASCII值返回字符

// ord(strig):函數(shù)返回第一個字符的ASCII

echo '<br>';

echo chr(97);

echo '<br>';

echo ord('abc');

// chunk_split(string,length,end):函數(shù)把字符串分割為一連串更小的部分

$str="Hello World";

echo '<br>';

echo chunk_split($str,2,'?');

// convert_uuencode(str):函數(shù)使用使用uuencode算法對 字符串進行編碼

// convert_uudecode(str):函數(shù)對uuencode編碼的字符串進行解碼

$str="Hello World!";

echo '<br>編碼后:';

echo $strto=convert_uuencode($str);

echo '<br>解碼后:';

echo convert_uudecode($strto);

// count_chars(string,mode):函數(shù)返回字符串所用字符信息

// string 必需。規(guī)定要檢查的字符串。

// mode 可選。規(guī)定返回模式。默認是 0。有以下不同的返回模式

// 0 - 數(shù)組,ASCII 值為鍵名,出現(xiàn)的次數(shù)為鍵值

// 1 - 數(shù)組,ASCII 值為鍵名,出現(xiàn)的次數(shù)為鍵值,只列出出現(xiàn)次數(shù)大于 0 的值

// 0 - 數(shù)組,ASCII 值為鍵名,出現(xiàn)的次數(shù)為鍵值,只列出出現(xiàn)次數(shù)等于 0 的值

// 3 - 字符串,帶有所有使用過的不同的字符

// 3 - 字符串,帶有所有未使用過的不同的字符

$str="Hello World!";

echo '<br>';

print_r(count_chars($str,1));

echo '<br>';

echo count_chars($str,3);

// explode(delimiter, string,limit):將字符串分割為數(shù)組,limit規(guī)定數(shù)組的最大個數(shù) 

//implode(separator,array):函數(shù)把數(shù)組元素組合為一個字符串

//join(separator,array):

// html_entity_decode(string,quotestyle,character-set):函數(shù)把HTML實體轉(zhuǎn)換為字符

// 是htmlentities()的反函數(shù)

/*

string:必須,規(guī)定要解碼的字符串。

quotestyle:可選,規(guī)定如何解碼單引號和雙引號,可選項有:

ENT_COMPAT-默認,僅解碼雙引號

ENT_QUOTES-解碼雙引號和單引號

ENT_NOQUOTES-不解碼任何引號

character-set:可選,規(guī)定要使用的字符集

ISO-8859-1默認。西歐

UTF-8,兼容多字節(jié)8筆特Unicode

提示:無法被識別的字符集將被忽略,并由 ISO-8859-1 代替。

*/

// htmlentities(string,quotestyle,character-set):函數(shù)把字符轉(zhuǎn)換為html實體

// htmlspecialchars(string,quotestyle,character-set):函數(shù)把一些預(yù)定義的字符轉(zhuǎn)換為html實體

// 預(yù)定義字符有:

// & (和號) 成為 &amp;

// " (雙引號) 成為 &quot;

// (單引號) 成為 &#039;

// < (小于) 成為 &lt;

// > (大于) 成為 &gt;

$str="A 'quote' is &<b>bold</b>";//htmlentities,html標(biāo)簽會原樣輸出

echo '<br>編碼:';

echo htmlentities($str,ENT_COMPAT);

echo '<br>';

echo htmlspecialchars($str,ENT_QUOTES);

echo '<br>';

echo $strto=htmlentities($str,ENT_QUOTES);

echo '<br>解碼:';

echo html_entity_decode($strto,ENT_QUOTES);

// levenshtein(str1, str2,insert,replace,delete):返回兩個字符之間的Levenshtein距離

// Levenshtein 距離,又稱編輯距離,指的是兩個字符串之間,由一個轉(zhuǎn)換成另一個所需的最少編輯操作次數(shù)。

// 許可的編輯操作包括將一個字符替換成另一個字符,插入一個字符,刪除一個字符。

// 例如把 kitten 轉(zhuǎn)換為 sitting:

// sitten (k→s)

// sittin (e→i)

// sitting (→g)

// levenshtein() 函數(shù)給每個操作(替換、插入和刪除)相同的權(quán)重。不過,您可以通過設(shè)置可選的 insert、

// replace、delete 參數(shù),來定義每個操作的代價。

//各參數(shù)的意思

//string1 必需。要對比的第一個字符串。

// string2 必需。要對比的第二個字符串。

// insert 可選。插入一個字符的代價。默認是 1。

// replace 可選。替換一個字符的代價。默認是 1。

// delete 可選。刪除一個字符的代價。默認是 1。

echo '<br>';

echo levenshtein('str1', 'str2');

echo '<br>';

// similar_text(first, second,percent):函數(shù)計算兩個字符串的匹配字符的數(shù)目

// percent,參數(shù)可選返回,兩個字符串的相似程度的百分比

echo '<br>';

echo similar_text('aa','Helladca');

// metaphone(str,length):函數(shù)計算字符串的metaphone鍵。

// metaphone鍵字符串的英語發(fā)音

// metaphone()函數(shù)用于拼寫檢查應(yīng)用程序

// 如果成功返回metphone鍵,如果失敗則返回false

echo metaphone('sun');

echo '<br>';

echo metaphone('son');

// nl2br(string):函數(shù)在字符串中的每個新行(\n)之前插入html換行符(<br>);

$str="One line.\nAnother line.";//必須用雙引號才有效

echo '<br>';

echo nl2br($str);

// number_format(number,decimals,decimalpoint,separator):函數(shù)通過千分位分組來格式化數(shù)字

// decimals:保留幾位小數(shù)

// deccimalpoint:顯示小數(shù)點的字符串

// separator,千分位分隔符的字符串

echo '<br>';

echo number_format(10000,2,'*','&');

echo '<br>';

echo number_format(10000.2);//默認不保留小數(shù)

// parse_str(str,arr):函數(shù)把查詢字符串解析到變量中。

// str,必須規(guī)定要解析的字符串

// arr,可選,規(guī)定存儲變量的數(shù)組名稱,該參數(shù)指示變量存儲到數(shù)組中

// 如果未設(shè)置arr參數(shù),由該函數(shù)設(shè)置的變量將覆蓋已有的同名變量

// 注:如果在php.ini中開啟了magic_quotes_gpc,那么在parse_str

//解析前,變量會被addslashes轉(zhuǎn)換。

$str='id=23&name=John%20Adams';

parse_str($str);

echo '<br>';

echo $name;

// printf(format,arg1,arg2...):格式化輸出字符串

// print 和echo一樣,但稍慢于echo

//sprintf(format,arg1,arg2,...):函數(shù)把格式化的字符串寫入到一個變量中

// %% - 返回百分比符號

// %b - 二進制數(shù)

// %c - 依照 ASCII 值的字符

// %d - 帶符號十進制數(shù)

// %e - 可續(xù)計數(shù)法(比如 1.5e+3)

// %u - 無符號十進制數(shù)

// %f - 浮點數(shù)(local settings aware)

// %F - 浮點數(shù)(not local settings aware)

// %o - 八進制數(shù)

// %s - 字符串

// %x - 十六進制數(shù)(小寫字母)

// %X - 十六進制數(shù)(大寫字母)

$str='huge';

$str1='wp';

echo '<br>';

printf('%s AND %s',$str,$str1);//%s輸出字符串

printf('%f',100);//%f保留兩位小數(shù)

echo '<br>';

$number = 123.2;

printf("%1\$.2f",$number);//占位符,只能用雙引號

// sscanf(str, format,arg1,arg2,...):函數(shù)根據(jù)指定的格式解析來自一個字符串的輸入

// 如果只向該函數(shù)傳遞兩個參數(shù),數(shù)據(jù)可以以數(shù)組的形式返回,否則,如果傳遞了額外的參數(shù)

// 那么被解析的數(shù)據(jù)會存儲在這些參數(shù)中。如果區(qū)分符的數(shù)目大于包含她們變量的數(shù)目,則會

// 發(fā)生錯誤,不過,如果區(qū)分符少于變量,則額外的變量包含null。

echo '<br>';

$string = "age:30 weight:60kg";

echo sscanf($string,"age:%d weight:%dkg",$age,$weight);

echo '<br>';

echo $age;

// str_replace(search, replace, subject,count):函數(shù)使用一個字符串替換字符串中的另一些字符

//該函數(shù)對大小寫敏感

//str_ireplace(search, replace, subject,count),該函數(shù)對大小寫不敏感

$str='Hello,World';

echo '<br>大小寫不敏感:';

echo str_ireplace('world','huge',$str);

echo '<br>';

echo '<br>大小寫敏感:';

echo str_replace('World','huge',$str);

// strtr(str, from, to):函數(shù)轉(zhuǎn)換字符串中特定的字符。也可以傳入數(shù)組

echo '<br>';

echo strtr('Hilla,World', 'ia','eo');

$arr=array('Hello'=>'Hi','World'=>'huge');

echo '<br>';

echo strtr('Hello World', $arr);

// str_pad(input, pad_length,pad_string,pad_type):函數(shù)把字符串填充為指定的長度

// input 必需。規(guī)定要填充的字符串。

// pad_length 必需。規(guī)定新字符串的長度。如果該值小于原始字符串的長度,則不進行任何操作。

// pad_string 可選。規(guī)定供填充使用的字符串。默認是空白。

// pad_type 可選。規(guī)定填充字符串的那邊

// 可能的值

// STR_PAD_BOTH - 平均填充到字符串的兩頭。如果不是偶數(shù),則右側(cè)獲得額外的填充。

// STR_PAD_LEFT - 填充到字符串的左側(cè)。

// STR_PAD_RIGHT - 填充到字符串的右側(cè)。這是默認的。

$str="Hello World";

echo '<br>';

echo str_pad($str,20,'huge',STR_PAD_BOTH);

// str_repeat(string,repeat):函數(shù)把字符串重復(fù)指定的次數(shù)

echo '<br>';

echo str_repeat('huge',10);

// str_rot13(str):函數(shù)對字符串執(zhí)行ROT13編碼,

// ROT-13 編碼是一種每一個字母被另一個字母代替的方法。這個代替字母是由原來的字母向前移動 13 個字母而得到的。數(shù)字和非字母字符保持不變。

//該函數(shù)解碼函數(shù)是其本身,只要調(diào)用兩次就行了

$str='huge';

echo '<br>編碼:';

echo $strto=str_rot13($str);

echo '<br>解碼:';

echo str_rot13($strto);

// str_shuffle(str):函數(shù)隨機地打亂字符串中的所有字符,可用于生成驗證碼

echo '<br>';

echo str_shuffle('huge');

// str_split(str,len):函數(shù)按指定的長度把字符串分割到數(shù)組中

//len,默認是1

echo '<br>';

print_r(str_split('huge',2));

// strcasecmp(str1,str2):函數(shù)對兩個字符串進行比較

// 前者=后者 0;<,小于0,;>,大于0

//函數(shù)對大小寫不敏感

//strcmp(str1,str2):對大小寫敏感

echo '<br>';

echo strcasecmp('sta1', 'str2');

// substr_compare(str1, str2, startpos,len,case):函數(shù)從指定開始長度

//比較兩個字符串,case,指定是否對大小寫敏感,默認為false,敏感

// strrchr(str,search):函數(shù)搜索一個字符串在另一個字符串中第一次出現(xiàn)。

//函數(shù)返回從匹配點開始的奇遇部分,如果未找到,則返回false

//該函數(shù)是strstr的別名

//如果要進行大小寫不敏感的查找,則用stristr

//參數(shù)都是一樣的

// strpbrk(haystack, char_list):函數(shù)在字符串中搜索指定字符中的任意一個

// 該函數(shù)返回指定字符第一次出現(xiàn)的位置開始的剩余部分。如果沒有找到則返回false

echo '<br>';

echo strchr('huge','u');

echo '<br>';

echo strpbrk("Hello world",'oe');

// str_word_count(str,type,char):函數(shù)計算字符串中的單詞數(shù)

// type:可選,規(guī)定str_word_count()的返回值,可選值有

// 0-默認,返回查找單詞的數(shù)目

// 1-返回包含字符串中的單詞的數(shù)組

// 2,-返回一個數(shù)組,其中的鍵是單詞在字符串中的位置,值是實際IDE單詞

// char:可選,規(guī)定被認為單詞的特殊字符。

echo '<br>';

echo str_word_count('Hello world');

echo '<br>';

print_r(str_word_count('Hello word',2));

//strcspn(str, char,start,len):函數(shù)返回要查找的字符的位置

//如果char給定多個值,則返回最早出現(xiàn)的字符的位置

echo '<br>';

echo strcspn("Hello world","w");

// strip_tags(str,allow):函數(shù)剝?nèi)TML,XML以及PHP標(biāo)簽

// allow,可選,規(guī)定允許的標(biāo)簽,這些標(biāo)簽不會被刪除

$str='hello,<b>world</b>';

echo '<br>';

echo strip_tags($str);

echo '<br>';

echo strip_tags($str,'<b>');

// stripos(str,find,start):函數(shù)返回在另一個字符串中第一次出現(xiàn)的位置

//該函數(shù)對大小寫不敏感

//strpos(str,find,start):對大小寫敏感

//strripos(str,find,start):函數(shù)返回在另一個字符串中最后一次出現(xiàn)的位置

//對大小寫不敏感

//strrpos(str,find,start):對大小寫敏感

echo '<br>';

echo stripos('Hello world','el');

// strlen(string):返回字符串的長度

//strnatcasecmp(str1,str2):函數(shù)使用一種"自然"算法來比較兩個字符串

//自然算法中,數(shù)字'2'小于'10';對大小寫不敏感

// strnatcmp(str1, str2):對大小寫敏感

// strncasecmp(str1, str2, len):比較兩個字符串從起始位置指定長度的部分

//對大小寫不敏感

//strncmp:對大小寫敏感

// strrev(string):函數(shù)翻轉(zhuǎn)字符串

echo '<br>';

echo strrev('huge');

// substr(string, start,len):函數(shù)返回字符串的一部分

// start,和len都可以為負值,負值表示從字符串末端開始返回

// strspn(str,charlist,start,len):計算字符串中全部字符都存在于指定字符集合中的第一段子串的長度。

echo '<br>';

echo strspn("Hello world!","Hlleo ");

echo '<br>';

echo strspn("42 is the answer to the 128th question.", "1234567890");

// $var 將被指派為 2,因為 '42' 是 subject 中第一段全部字符都存在

// 于 '1234567890' 的連續(xù)字符。

// strtok(str, token):函數(shù)把字符串分割為更小的字符串

$str="Hello world. Beautiful day today";

$token=strtok($str,' ');

echo '<br>';

while ($token!==false) {//函數(shù)會記住字符串的位置

echo $token;

echo ",";

$token=strtok(' ');

}

// strtolower(str):函數(shù)把字符串轉(zhuǎn)換為小寫

// strtocase(str):轉(zhuǎn)換為大寫

// substr_count(haystack, needle,start,len):函數(shù)計算子串在字符串中出現(xiàn)的次數(shù)

echo '<br>';

echo substr_count("Hello world. The world is nice","world");

// substr_replace(string, replacement, start,len):函數(shù)把字符串的一部分替換為另一個字符串

echo '<br>';

echo substr_replace('Hello world', 'huge',6);

//ucfirst(str):函數(shù)把字符中的首字符轉(zhuǎn)換為大寫

//ucwords(str):函數(shù)把字符串中的每個單詞的首字符轉(zhuǎn)換為大寫

$str='hello huge';

echo '<br>';

echo ucfirst($str);

echo '<br>';

echo ucwords($str);//只有用空格分開的才識別

// wordwrap(str,width,break,cut):str,必須,其他可選

// 函數(shù)按照指定長度對字符串進行拆分處理

// 如果成功,則返回拆分后的字符串,失敗,則返回false

// width:規(guī)定最大行寬度,默認75

// 規(guī)定作為分隔符使用的字符,默認是"\n"

// cut,規(guī)定是否對大約指定寬度的單詞進行拆分。默認是false

$str='An example on a long word is: Supercalifragulistic';

echo '<br>';

echo wordwrap($str,10,'<br>');

// utf8_encode(data):函數(shù)把ISO-8859-1字符串編碼為UTF-8

// utf8_decode(data):函數(shù)把utf-8編碼轉(zhuǎn)換為ISO-8859-1

?>

分享標(biāo)題:php操作字符串函數(shù)
分享地址:http://bm7419.com/article18/geiggp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)微信小程序、標(biāo)簽優(yōu)化App設(shè)計、虛擬主機動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)