憋了好久,終于迎來(lái)第一篇簡(jiǎn)書(shū)洪燥,今天就寫(xiě)寫(xiě)在PHP開(kāi)發(fā)中經(jīng)常用到的操作之一——PHP字符串操作
一、替換
//將字符串中的jack替換成rose
echo str_replace("jack", "rose", "i love jack!");
//輸出結(jié)果為 i love rose!
二捧韵、刪除字符串
這里有兩種方法市咆,一個(gè)是運(yùn)用字符串替換,就是把目標(biāo)字符串替換成空" "再来;
//將字符串"i love jack!"中的"i love "替換成" "
$str = "i love jack!";
echo str_replace("i love ", " ",$str);
//輸出結(jié)果為 jack!
另一個(gè)比較復(fù)雜(雖然沒(méi)有第一種簡(jiǎn)單直接磷瘤,但本文講的是字符串的操作搜变,字符串轉(zhuǎn)成數(shù)組也是其中之一)采缚,將字符串轉(zhuǎn)換成數(shù)組,然后通過(guò)foreach遍歷挠他,這里面再加一個(gè)in_array判斷需要?jiǎng)h除的字母是否屬于目標(biāo)數(shù)組內(nèi)扳抽,最后再一個(gè)一個(gè)unset掉;
//將字符串"i love jack!"中的"i love "替換成" "
$str = "i love jack!";
$arr = str_split($str );
foreach( $arr as $k => $v ){
if( in_array($v,array('i','l','o','v','e')) ){
unset($arr[$k]);
}
}
$str = implode('',$arr);
print_r($str);
//輸出結(jié)果為 jack!
二贸呢、截取字符串
這里若輸出中文亂碼則在輸出結(jié)果前添加這行代碼echo '<meta http-equiv="Content-Type" content="text/hmtl; charset=utf-8" />';
//初始化字符串
$str = "abcdefghijkl";
echo '<meta http-equiv="Content-Type" content="text/hmtl; charset=utf-8" />';
echo "<br />";
echo "原字符串:".$str;
$str1 = substr($str,3);
echo "<br />";
echo "從第3個(gè)字符開(kāi)始取至最后:".$str1;
$str2 = substr($str,6,3);
echo "<br />";
echo "從第6個(gè)字符開(kāi)始取3個(gè)字符:".$str2;
$str3 = substr($str,-3);
echo "<br />";
echo "取倒數(shù)3個(gè)字符:".$str3;
$str4 = substr($str,-6,3);
echo "<br />";
echo "從倒數(shù)第6個(gè)字符開(kāi)始向后取3個(gè)字符:".$str4;
$str5 = substr($str,-6,-2);
echo "<br />";
echo "從倒數(shù)第6個(gè)字符開(kāi)始取到倒數(shù)第2個(gè)字符為止:".$str5;
來(lái)點(diǎn)硬的愉耙,接下來(lái)是中英文混合,這里需要注意的是中英編碼有所不同朴沿,一個(gè)字母或者普通標(biāo)點(diǎn)符號(hào)或數(shù)字都只占一個(gè)字符長(zhǎng)度,而一個(gè)中文占3個(gè)字符長(zhǎng)度魏铅,可用strlen()來(lái)計(jì)算,這里若輸出中文亂碼則在輸出結(jié)果前添加這行代碼echo '<meta http-equiv="Content-Type" content="text/hmtl; charset=utf-8" />';
//需要截?cái)嗟淖址?$str_cut = "字符串a(chǎn)sdaf";
//允許字符串顯示的最大長(zhǎng)度
$length = 50;
if (strlen($str_cut) > $length)
{
for($i=0; $i < $length; $i++)
if (ord($str_cut[$i]) > 128) $i++;
$str_cut = substr($str_cut,0,$i);
}
echo '<meta http-equiv="Content-Type" content="text/hmtl; charset=utf-8" />';
echo $str_cut;
四览芳、比較字符串
比較字符串"5"和"J"
var_dump(strcmp(5, 'J'));
//結(jié)果為
int(-1)
五鸿竖、字符串查找
echo strstr("實(shí)例代碼如下","下"); //輸出查詢(xún)的字符串
echo "<br />";
echo strstr("www.reibang.com","com"); //輸出查詢(xún)的字符串(從第一個(gè)m取值)
echo "<brc />";
echo strstr("123456789","8"); //輸出查詢(xún)的字符串
定義和用法:strpos() 函數(shù)返回字符串在另一個(gè)字符串中第一次出現(xiàn)的位置
echo strpos("Hello world!","lo");
六、轉(zhuǎn)換字母大小寫(xiě)
$foo = 'hello world!';
$foo = ucwords($foo); // Hello World!
$bar = 'HELLO WORLD!';
$bar = ucwords($bar); // HELLO WORLD!
$bar = ucwords(strtolower($bar)); // Hello World!
//第一個(gè)詞首字母變大寫(xiě):ucfirst()
$str = 'hello world!';
$str = ucfirst($str ); // Hello world!
$bar = 'HELLO WORLD!';
$bar = ucfirst($bar); // HELLO WORLD!
$bar = ucfirst(strtolower($bar)); // Hello world!
//第一個(gè)詞首字母小寫(xiě)lcfirst()
$foo = 'HelloWorld';
$foo = lcfirst($foo); // helloWorld
$bar = 'HELLO WORLD!';
$bar = lcfirst($bar); // hELLO WORLD!
$bar = lcfirst(strtoupper($bar)); // hELLO WORLD!
//字母變大寫(xiě):strtoupper()
//字母變小寫(xiě):strtolower()
七缚忧、切割字符串(切割并轉(zhuǎn)換成數(shù)組)
$str="a,b,c,d,e,f,g";
$var=explode(",",$str);
print_r($var);