php中常用字串函數

來源:互聯網
上載者:User
本篇文章主要介紹php中常用字串函數,感興趣的朋友參考下,希望對大家有所協助。

閱讀目錄

  • 確定字串長度

  • 比較字串

  • 分割串連反轉

  • html與字串相互轉化

  • 填充和剔除字串

  • 統計字元和單詞個數

  • 尋找替換截取

  • 大小寫處理

php內建了98個字串函數(除了基於Regex的函數,Regex在此不在討論範圍),能夠處理字串中能遇到的每一個方面內容,本文對常用字串函數進行簡單的小結,主要包含以下8部分:1.確定字串長度、2.比較字串、3.分割串連反轉、4.html與字串相互轉化、5.填充和剔除字串、6.統計字元和單詞個數、7.尋找替換截取、8.大小寫處理。

回到目錄

確定字串長度

strlen函數和mb_strlen函數,後者需要開啟mbstring擴充

<?php     header('content-type:text/html;charset=utf-8');    $str = 'abcdef';    echo strlen($str); // 6    echo "<br/>";    $str = ' ab cd ';    echo mb_strlen($str); // 7    echo "<br/>";    //strlen 是計算字串"位元組"長度     //mb_strlen,是根據編碼,計算字串的"字元"個數.     $str='中華人民共和國';    echo "位元組長度是".strlen($str);//在 UTF-8編碼下,一個漢字佔3個位元組 在gbk中一個漢字佔2個位元組    echo "<br/>";    echo "字元長度是".mb_strlen($str,'utf-8'); ?>

回到目錄

比較字串

strcmp函數、strcasecmp函數、strspn函數、strcspn函數

<?php     $pwd="userpwd";    $pwd2="Userpwd";    //區分大小寫    if (strcmp($pwd, $pwd2) !=0) {        echo "password do not match";    } else{        echo "password match";    }    $email1="www.baidu.com";    $email2="WWW.BAIDU.COM";    //不區分大小寫    if (!strcasecmp($email1, $email2)) {        echo "ok",'<br>';    }    //求兩個字串相同的部分    $password="1233345";    if (strspn($password,"1234567890")==strlen($password)) {        echo "the password connot consist solely of numbers";    }    //    $password="a12345";    if (strcspn($password, "1234567890")==0) {        echo "the password connot consist solely of numbers";    }     ?>

回到目錄

分割串連反轉

str_split函數、split函數、explode函數和implode函數

<?php header('content-type:text/html;charset=utf-8');    $str = "Hello Friend";    $arr1 = str_split($str);    print_r($arr1);    $arr2 = str_split($str, 3);    print_r($arr2);    $str = 'abc,中國,美國,日本';     // explode,是根據指定的分割符,把字串拆成數組.     $arr = explode(',',$str);     print_r($arr);     // implode,是根據指定的串連符,把數組再拼接成字串     $arr = explode(',',$str);     echo implode('~',$arr),'<br />';     // 你可以只傳一個數組做參數,不指定串連符,     // 這樣,將把數組單元直接拼接起來     echo implode($arr); ?>

回到目錄

html與字串相互轉化

htmlspecialchars函數、strip_tags函數、get_html_translation_table函數和addcslashes函數和htmlentities函數

<?php     $str = "hello ', world";     echo $str,'<br />';    echo $str= addslashes($str),'<br />';    echo stripslashes($str),'<br />';    $str = '<ab>';     echo $str,'<br />';     echo htmlspecialchars($str);     echo "</br>";    $str="Email <a href='admin@qq.com'>example@qq.com</a>";    echo strip_tags($str); ?>

回到目錄

填充和剔除字串

trim函數、ltrim函數、rtrim函數、str_pad函數、chunk_split函數

<?php     $str = '12345678';     echo chunk_split($str,3,',');    echo "<br>";    $text   = "\t\tThese are a few words :) ...  ";    echo trim($text);    echo "<br>";    echo ltrim($text,'\t'),'<br>';    echo rtrim($text,'\r'),'<br>';    echo str_pad('apple', 6)."is good."; ?>

回到目錄

統計字元和單詞個數

count_chars函數和str_word_count

<?php     $data = "Two Ts and one F.";    foreach (count_chars($data, 1) as $i => $val) {       echo "There were $val instance(s) of \"" , chr($i) , "\" in the string.\n";    }    echo "<hr>";    $str = "Hello fri3nd, you're looking good today!";    print_r(str_word_count($str, 1)); ?>

回到目錄

尋找替換截取

strpos函數、str_replace函數、substr_replace函數、substr函數、strstr函數

<?php     $substr = "index.html";    $log = <<< logfile    192.168.1.11:/www/htdocs/index.html:[2016/08/10:21:58:27]    192.168.1.11:/www/htdocs/index.html:[2016/08/18:01:51:37]    192.168.1.11:/www/htdocs/index.html:[2016/08/20:11:48:27]logfile;    $pos =strpos($log, $substr);    $pos2=strpos($log,"\n",$pos);    $pos=$pos+strlen($substr)+1;    $timestamp=substr($log,$pos,$pos2-$pos);    echo "The file $substr was first accessed on:$timestamp";    echo "<br>";    $author="lester@example.com";    $author=str_replace("@", "at", $author);    echo "connect the author of this article at $author";    echo "<br>";    echo ltrim(strstr($author,"@"), "@"); ?>

回到目錄

大小寫處理

strtolower函數、strtoupper函數、ucfirst函數、ucwords函數

<?php     $url="http://WWWW.BAIDU.COM";    echo strtolower($url),'<br>';    $str="hello world";    echo strtoupper($str),'<br>';    $str="php is the most popular language ";    echo ucfirst($str),'<br>';    echo ucwords($str); ?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.