PHP字符串操作

憋了好久,終于迎來(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);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末闪水,一起剝皮案震驚了整個(gè)濱河市糕非,隨后出現(xiàn)的幾起案子球榆,更是在濱河造成了極大的恐慌,老刑警劉巖衡招,帶你破解...
    沈念sama閱讀 211,561評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件右钾,死亡現(xiàn)場(chǎng)離奇詭異旱爆,居然都是意外死亡舀射,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)山林,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)邢羔,“玉大人,你說(shuō)我怎么就攤上這事拜鹤。” “怎么了敏簿?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,162評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵明也,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我惯裕,道長(zhǎng),這世上最難降的妖魔是什么蜻势? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,470評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮够傍,結(jié)果婚禮上挠铲,老公的妹妹穿的比我還像新娘冕屯。我一直安慰自己市殷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布搞挣。 她就那樣靜靜地躺著音羞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嗅绰。 梳的紋絲不亂的頭發(fā)上搀继,一...
    開(kāi)封第一講書(shū)人閱讀 49,806評(píng)論 1 290
  • 那天翠语,我揣著相機(jī)與錄音,去河邊找鬼肌括。 笑死,一個(gè)胖子當(dāng)著我的面吹牛黑滴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播袁辈,決...
    沈念sama閱讀 38,951評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼珠漂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了甘磨?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,712評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤卿泽,失蹤者是張志新(化名)和其女友劉穎滋觉,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體椎侠,經(jīng)...
    沈念sama閱讀 44,166評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評(píng)論 2 327
  • 正文 我和宋清朗相戀三年慎宾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了浅悉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,643評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡汹碱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咳促,到底是詐尸還是另有隱情,我是刑警寧澤跪腹,帶...
    沈念sama閱讀 34,306評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站笤妙,受9級(jí)特大地震影響冒掌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜膳音,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評(píng)論 3 313
  • 文/蒙蒙 一铃诬、第九天 我趴在偏房一處隱蔽的房頂上張望祭陷。 院中可真熱鬧趣席,春花似錦、人聲如沸宣肚。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,745評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)笙瑟。三九已至楼镐,卻和暖如春往枷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背错洁。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,983評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工墓臭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蘸鲸,地道東北人窿锉。 一個(gè)月前我還...
    沈念sama閱讀 46,351評(píng)論 2 360
  • 正文 我出身青樓膝舅,卻偏偏與公主長(zhǎng)得像窑多,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子埂息,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容