去除字符串首尾的空格
trim( " 空格 " )去除一個字符串兩端空格
rtrim(" 空格 ")去除一個字符串右部空格茴肥,其中的r是right的縮寫
ltrim(" 空格 ")去除一個字符串左部空格冯吓,其中的l是left的縮寫
獲取字符串的長度
直接獲取字符串的長度,這個函數(shù)就是strlen()
mb_strlen()函數(shù)獲取字符串中中文長度
字符串截取
英文字符串的截取函數(shù)substr()
substr(字符串變量,開始截取的位置,截取個數(shù))
中文字符串的截取函數(shù)mb_substr()
mb_substr(字符串變量,開始截取的位置,截取個數(shù),網(wǎng)頁編碼)
echo mb_substr($str,4,2,'utf-8');
查找字符串
strpos(要處理的字符串,要定位的字符串,定位的起始位置(可選))
替換字符串
str_replace(要查找的字符串,要替換的字符串,被搜索的字符串,替換進行計數(shù)(可選))
$replace = str_replace('js','php',$str);
格式化字符串
sprintf(格式,要轉(zhuǎn)化的字符串)
$str = '99.9';
$result = sprintf('%01.2f',$str); ?
echo $result; ? ?//結(jié)果顯示99.90
% ?是開始的意思,寫在最前面表示指定格式開始了逾雄。也就是'起始字符',直到出現(xiàn)'轉(zhuǎn)換字符'為止,就算格式終止
跟在%符號后面的是0钉答,是"填空字元",表示如果位置空著就用0來填滿
在0后面的1 表示整個所有的字符串占位要有1位以上(小數(shù)點也算一個占位)
如果把1改成6,則$result的值將為099.90
.2 表示小數(shù)點后的數(shù)字必須占2位
f 表示“轉(zhuǎn)換字符”結(jié)尾
字符串的合并與分割
implode(分隔符(可選),數(shù)組)
返回值:把數(shù)組元素組合為一個字符串
$arr = array('Hello','World!');
$result = implode('',$arr);
print_r($result); ?// 結(jié)果顯示Hello World
php字符串分割函數(shù)explode()
explode(分隔符(可選),字符串);
返回值:函數(shù)返回由字符串組成的數(shù)組
字符串的轉(zhuǎn)義
addslashes()
用于對特殊字符加上轉(zhuǎn)義字符,返回一個字符串
返回值:一個經(jīng)過轉(zhuǎn)義后的字符串
$str = "what's your name";
echo addslashes($str); ?// 輸出 what\'s your name?
正則表達式
php中使用PCRE庫函數(shù)進行正則匹配 preg_match用于執(zhí)行一個正則匹配,常來判斷一類字符模式是否存在
如果模式中包含分隔符餐曹,則分隔符需要使用反斜杠(\)進行轉(zhuǎn)義 ? http:\/\/
元字符
\ ?一般用于轉(zhuǎn)義字符
^ 斷言目標的開始位置(或在多行模式下是行首)
$ 斷言目標的結(jié)束位置(或在多行模式下是行尾)
. 匹配除換行符外的任何字符(默認)
[ 開始字符類定義
] 結(jié)束字符類定義
| 開始一個可選分支
( 子組的開始標記
) 子組的結(jié)束標記
虑瀑?作為量詞湿滓,表示0次或1次匹配。
* 量詞缴川,0次或多次匹配
+ 量詞 ?1次或多詞匹配
{ 自定義量詞開始標記
} 自定義量詞結(jié)束標記
\s 匹配任意的空白符茉稠,包括空格,制表符把夸,換行符[^\s]代表非空白符,[^\s]+表示一次或多次匹配非空白符
轉(zhuǎn)義字符^僅在作為第一個字符(方括號內(nèi))時而线,表明字符類取反
$p = '/^我[^\s]+[蘋果|香蕉]$/'
\w 匹配字母或數(shù)字或下劃線
$p = '/[\w\.\-]+@[a-z0-9\-]+\.(com|cn)/'
當確切的知道所匹配字符串長度的時候,可以使用{}指定匹配字符數(shù)
$p = '/\d{3}\-\d{8}'
preg_match_all可以循環(huán)獲取一個列表的匹配結(jié)果數(shù)組