主頁 > 知識庫 > PHP入門學(xué)習(xí)之字符串操作

PHP入門學(xué)習(xí)之字符串操作

熱門標(biāo)簽:福州人工外呼系統(tǒng)哪家強(qiáng) 地圖標(biāo)注平臺怎么給錢注冊 百度商鋪地圖標(biāo)注 衡水外呼系統(tǒng)平臺 釘釘打卡地圖標(biāo)注 常州地圖標(biāo)注服務(wù)商 安裝電銷外呼系統(tǒng) 新河科技智能外呼系統(tǒng)怎么樣 注冊400電話申請

字符串簡介

字符串是指由零個或多個字符構(gòu)成的一個集合,這里所說的字符主要包含以下幾種類型:

  • 數(shù)字類型,如1、2、3等。
  • 字母類型,如a、b、c、d等。
  • 特殊字符,如#、$、%、^、等。
  • 不可見字符,如\n(換行符)、\r(回車符)、\t(Tab字符)等。

其中,不可見字符是比較特殊的一組字符,它用來控制字符串格式化輸出,在瀏覽器上不可見,只能看到字符串輸出的結(jié)果,如下:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head>
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
 />
title>PHP語言基礎(chǔ)/title>

/head>
body>

?php
header("Content-Type:text/html;   charset=gb2312"); 
echo "pear\rapple\nbanan\tfruit";
?>

/body>
/html>

運(yùn)行結(jié)果: pear apple banan fruit

發(fā)現(xiàn)并沒有在瀏覽器上進(jìn)行換行、回車之類的。 點(diǎn)擊網(wǎng)頁查看源代碼:

單引號和雙引號的區(qū)別

字符串通常以串的整體作為操作對象,一般用雙引號或者單引號標(biāo)識一個字符串。單引號和雙引號在使用上有一定區(qū)別。對于定義的普通字符串看不出兩者之間的區(qū)別。而通過對變量的處理,即可輕松地理解兩者之間的區(qū)別。

雙引號中的內(nèi)容是經(jīng)過PHP的語法分析器解析過的,任何變量在雙引號中都會被轉(zhuǎn)換為它的值進(jìn)行輸出顯示;而單引號的內(nèi)容是“所見即所得”的,無論有無變量,都被當(dāng)作普通字符串進(jìn)行原樣輸出。

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head>
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
 />
title>PHP語言基礎(chǔ)/title>

/head>
body>

?php
header("Content-Type:text/html;   charset=gb2312");
$str="PHP";
$str1="$str";
$str2='$str';
echo $str1."br>";
echo $str2;
?>

/body>
/html>

運(yùn)行結(jié)果:
PHP
$str

技巧:單引號串和雙引號串在PHP中的處理是不相同的。雙引號串中的內(nèi)容可以被解釋并替換,而單引號串中的內(nèi)容則只能被作為普通字符進(jìn)行處理。
注意:在進(jìn)行SQL查詢之前,所有字符串都必須加單引號,以避免可能的注入漏洞和SQL錯誤。

字符串的連接符

半角句號“.”是字符串連接符,可以把兩個或兩個以上的字符串連接成一個字符串。 應(yīng)用字符串連接符號無法實(shí)現(xiàn)大量簡單字符串的連接,PHP允許程序員在雙引號中直接包含字符串變量,當(dāng)echo語句后面使用的是雙引號(”)時,可以使用下面的格式來達(dá)到同樣的效果。

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head>
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
 />
title>PHP語言基礎(chǔ)/title>

/head>
body>

?php
header("Content-Type:text/html;   charset=gb2312");
$str1="Java";
$str2="PHP";
echo "$str1,$str2,C++";
?>

/body>
/html>

運(yùn)行結(jié)果:
Java,PHP,C++

去除字符串首尾空格和特殊字符

用戶在輸入數(shù)據(jù)時,經(jīng)常會在無意中輸入多余的空格,在有些情況下,字符串中不允許出現(xiàn)空格和特殊字符,此時就需要去除字符串中的空格和特殊字符。在PHP中提供了trim()函數(shù)去除字符串左右兩邊的空格和特殊字符、ltrim()函數(shù)去除字符串左邊的空格和特殊字符、rtrim()函數(shù)去除字符串中右邊的空格和特殊字符。

1.trim()函數(shù)

trim()函數(shù)用于去除字符串開始位置以及結(jié)束位置的空格,并返回去掉空格后的字符串。
語法格式如下:

string trim(string str [,string charlist]);

trim()函數(shù)的參數(shù)str是要操作的字符串對象,參數(shù)charlist為可選參數(shù),指定需要從指定的字符串中刪除哪些字符,如果不設(shè)置該參數(shù),則所有的可選字符都將被刪除。

trim()函數(shù)的參數(shù)charlist的可選值如下表所示。

注意:除了以上默認(rèn)的過濾字符列表外,也可以在charlist參數(shù)中提供要過濾的特殊字符。

使用trim()函數(shù)去除字符串左右兩邊的空格及特殊字符“\r\r(: :)”:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head>
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
 />
title>PHP語言基礎(chǔ)/title>

/head>
body>

?php
header("Content-Type:text/html;   charset=gb2312");
$str="\r\r(:@_@    學(xué)習(xí)PHP   @_@:)   ";
echo trim($str);//去除字符串左右兩邊的空格
echo "br>";
echo trim($str,"\r\r(: :)");//去除字符串左右兩邊的特殊字符\r\r(::)
?>

/body>
/html>

運(yùn)行結(jié)果:
(:@@ 學(xué)習(xí)PHP @@:)
@@ 學(xué)習(xí)PHP @@

2.Itrim()函數(shù)

Itrim()函數(shù)用于去除字符串左邊的空格或者指定字符串。

語法格式如下:

string ltrim( string str [,string charlist]);

使用Itrim()函數(shù)去除字符串左邊的空格及特殊字符“(:@_@”:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head>
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
 />
title>PHP語言基礎(chǔ)/title>

/head>
body>

?php
header("Content-Type:text/html;   charset=gb2312");
$str="  (:@_@    學(xué)習(xí)PHP   @_@:)   ";
echo trim($str);//去除字符串左邊的空格
echo "br>";
echo ltrim($str," (:@_@");//去除字符串左邊的特殊字符 (:@_@
?>

/body>
/html>

運(yùn)行結(jié)果:
(:@@ 學(xué)習(xí)PHP @@:)
學(xué)習(xí)PHP @_@:)

3.rtrim()函數(shù)

rtrim()函數(shù)用于去除字符串右邊的空格。

語法格式如下:

String rtrim(string str [,string charlist]);

使用rtrim()函數(shù)去除字符串右邊的空格及特殊字符“@_@:)”:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head>
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
 />
title>PHP語言基礎(chǔ)/title>

/head>
body>

?php
header("Content-Type:text/html;   charset=gb2312");
$str="  (:@_@    學(xué)習(xí)PHP   @_@:)   ";
echo trim($str);//去除字符串右邊的空格
echo "br>";
echo rtrim($str," @_@:)");//去除字符串右邊的特殊字符 @_@:)
?>

/body>
/html>

運(yùn)行結(jié)果:
(:@@ 學(xué)習(xí)PHP @@:)
(:@_@ 學(xué)習(xí)PHP

轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)

字符串轉(zhuǎn)義、還原的方法有兩種:一種是手動轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù),另一種是自動轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)。下面分別對這兩種方法進(jìn)行詳細(xì)講解。

1.手動轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)

字符串可以用單引號(‘)、雙引號(“”)、定界符({})3種方法定義。而指定一個簡單字符串的最簡單的方法是用單引號(‘)括起來。當(dāng)使用字符串時,很可能在該串中存在這幾種符號與PHP腳本混淆的字符,因此必須要做轉(zhuǎn)義語句。這就要在它的前面使用轉(zhuǎn)義符號“\”。

“\”是一個轉(zhuǎn)義符,緊跟在“\”后面的第一個字符將變得沒有意義或有特殊意義。如‘是字符串的定界符,寫為\'時就失去了定界符的意義,變?yōu)榱似胀ǖ膯我枴?。讀者可以通過echo '‘';輸出一個單引號‘,同時轉(zhuǎn)義字符“”也不會顯示。

技巧1:如果要在字符串中表示單引號,則需要用反斜線()進(jìn)行轉(zhuǎn)義。例如,要表示字符串“I‘m”,則需要寫成“I'm”。
技巧2 :對于簡單的字符串建議采用手動方法進(jìn)行字符串轉(zhuǎn)義,而對于數(shù)據(jù)量較大的字符串,建議采用自動轉(zhuǎn)義函數(shù)實(shí)現(xiàn)字符串的轉(zhuǎn)義。

說明:手動轉(zhuǎn)義字符串可應(yīng)用addcslashes()函數(shù)進(jìn)行字符串還原,其具體的實(shí)現(xiàn)方法將在下面進(jìn)行介紹。

使用轉(zhuǎn)義字符“\”對字符串進(jìn)行轉(zhuǎn)義:

?php
header("Content-Type:text/html;   charset=gb2312");
echo 'php,\'學(xué)習(xí)PHP'';
?>

運(yùn)行結(jié)果:
php,'學(xué)習(xí)PHP'

2.自動轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)

自動轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)可以應(yīng)用PHP提供的addslashes()函數(shù)和stripslashes()函數(shù)實(shí)現(xiàn)。

1.addslashes()函數(shù)

addslashes()函數(shù)用來為字符串str加入斜線“\”。
語法格式如下:

string addslashes (string str)

2.stripslashes()函數(shù)

stripslashes()函數(shù)用來將使用addslashes()函數(shù)轉(zhuǎn)義后的字符串str返回原樣。

string stripslashes(string str);

使用自動轉(zhuǎn)義字符addslashes()函數(shù)對字符串進(jìn)行轉(zhuǎn)義,然后使用stripslashes()函數(shù)進(jìn)行還原:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head>
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
 />
title>PHP語言基礎(chǔ)/title>

/head>
body>

?php
header("Content-Type:text/html;   charset=gb2312");
$str="php,'學(xué)習(xí)PHP'";
echo $str."br>";
$a=addslashes($str); //對字符串中的特殊字符進(jìn)行轉(zhuǎn)義
echo $a."br>";
$b=stripslashes($a);//對轉(zhuǎn)義字符進(jìn)行還原
echo $b;
?>

/body>
/html>

運(yùn)行結(jié)果:
php,'學(xué)習(xí)PHP'
php,\'學(xué)習(xí)PHP'
php,'學(xué)習(xí)PHP'

技巧:所有數(shù)據(jù)在插入數(shù)據(jù)庫之前,有必要應(yīng)用addslashes()函數(shù)進(jìn)行字符串轉(zhuǎn)義,以免特殊字符未經(jīng)轉(zhuǎn)義在插入數(shù)據(jù)庫時出現(xiàn)錯誤。另外,對于使用addslashes()函數(shù)實(shí)現(xiàn)的自動轉(zhuǎn)義字符串可以使用stripcslashes()函數(shù)進(jìn)行還原,但數(shù)據(jù)在插入數(shù)據(jù)庫之前必須再次進(jìn)行轉(zhuǎn)義。

以上兩個函數(shù)實(shí)現(xiàn)了對指定字符串進(jìn)行自動轉(zhuǎn)義和還原。除了上面介紹的方法外,還可以對要轉(zhuǎn)義、還原的字符串進(jìn)行一定范圍的限制,通過使用addcslashes()函數(shù)和stripcslashes()函數(shù)實(shí)現(xiàn)對指定范圍內(nèi)的字符串進(jìn)行自動轉(zhuǎn)義、還原。下面分別對兩個函數(shù)進(jìn)行詳細(xì)介紹。

3.addcslashes()函數(shù)

實(shí)現(xiàn)轉(zhuǎn)義字符串中的字符,即在指定的字符charlist前加上反斜線。

語法格式如下:

string addcslashes (string str, string charlist)

參數(shù)說明:
參數(shù)str為將要被操作的字符串,參數(shù)charlist指定在字符串中的哪些字符前加上反斜線“\”,如果參數(shù)charlist中包含\n、\r等字
符,將以C語言風(fēng)格轉(zhuǎn)換,而其他非字母數(shù)字且ASCII碼低于32以及高于126的字符均轉(zhuǎn)換成八進(jìn)制表示。

注意:在定義參數(shù)charlist的范圍時,需要明確在開始和結(jié)束的范圍內(nèi)的字符。

4.stripcslashes()函數(shù)

stripcslashes()函數(shù)用來將應(yīng)用addcslashes()函數(shù)轉(zhuǎn)義的字符串str還原。

語法格式如下:

string stripcslashes (string str)

使用addcslashes()函數(shù)對字符串進(jìn)行轉(zhuǎn)義,使用stripcslashes()函數(shù)對轉(zhuǎn)義的字符串進(jìn)行還原。

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head>
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
 />
title>PHP語言基礎(chǔ)/title>

/head>
body>

?php
header("Content-Type:text/html;   charset=gb2312");
$str="學(xué)習(xí)PHP";
echo $str."br>";
$b=addcslashes($str,"學(xué)習(xí)PHP");
echo $b."br>";
$c=stripcslashes($b);
echo $c;
?>

/body>
/html>

運(yùn)行結(jié)果:
學(xué)習(xí)PHP
\321\247\317\260\P\H\P
學(xué)習(xí)PHP

技巧:在緩存文件中,一般對緩存數(shù)據(jù)的值采用addcslashes()函數(shù)進(jìn)行指定范圍的轉(zhuǎn)義。

以上就是PHP入門學(xué)習(xí)之字符串操作的詳細(xì)內(nèi)容,更多關(guān)于PHP字符串操作的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • php生成隨機(jī)數(shù)/生成隨機(jī)字符串的方法小結(jié)【5種方法】
  • PHP中多字節(jié)字符串操作實(shí)例詳解
  • PHP字符串中提取文件名的實(shí)例方法
  • php中創(chuàng)建字符串的變量實(shí)例講解
  • 聊聊PHP中刪除字符串的逗號和尾部斜杠的方法

標(biāo)簽:鶴崗 唐山 白城 柳州 鷹潭 六安 遼陽 克拉瑪依

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP入門學(xué)習(xí)之字符串操作》,本文關(guān)鍵詞  PHP,入門,學(xué),習(xí)之,字符串,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP入門學(xué)習(xí)之字符串操作》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP入門學(xué)習(xí)之字符串操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章