[PHP] 字串處理函數(一)

  • explode() – 將字串分割(以陣列儲存)
  • explode(separator,string,limit)
    範例:
    <?
    $student="kevin susan james";
    $stuednt_array=explode(" ",$student);
    foreach($stuednt_array as $index => $value)
    echo "student $index is: $value\n";
    ?>
    輸出:
    student 0 is: kevin
    student 1 is: susan
    student 2 is: james
    separator 分隔字元
    string 要處理的字串
    limit 可選。規定所返回的數組元素的最大數目

  • strpos() – 搜尋某字串第一次出現的位置(返回的是數值)
  • strpos(string,find,start)
    string 要處理的字串
    find 要搜尋的字串
    start 可選。開始搜尋的位置
  • substr()取得部份字串
  • substr(string,start,length)
    string 要處理的字串
    start 開始搜尋的位置:
    正數 – 在字符串的指定位置開始
    負數 – 在從字符串結尾的指定位置開始
    0 – 在字符串中的第一個字符處開始
    length 可選。選取字串長度
    正數 – 從 start 參數所在的位置返回(傳回的字串將會從 start 傳回 length 個字元 )
    負數 – 從字符串末端返回(傳回的字串將會結束於 string 結尾的第 length 個字元)
  • fnmatch() – 比對文件名或字符串
  • fnmatch(pattern,string,flags)
    pattern 要搜尋的格式
    string 要處理的字串
    flags 可選。
  • ereg() – 正規式比對
  • int ereg (string pattern, string string [, array regs])

    若找到比對則會呼叫第三個參數regs,比對的結果會儲存在 regs 的元素之中(regs 為陣列,且最多只能存10組)。以下的範例會將日期格式YYYY-MM-DD切斷,並且把它顯示成DD.MM.YYYY的格式:

    <?php
        if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
              echo "$regs[3].$regs[2].$regs[1]";
        }
        else {
           echo "Invalid date format: $date";
        }
    ?>
  • eregi() – 忽略大小寫的正規式比對
  • implode() – 將字串合併
  • implode(separator,array)
    範例:
    <?
    $stuednt_array = array(kevin, susan, james);
    $student = implode(",oo,", $stuednt_array);
    echo $student
    ?>
    輸出:
    kevin,oo,susan,oo,james
    separator 可選。分隔字串間的字元(默認是 “")
    array 要處理的字串(需為陣列)
  • trim() – 將空白或是特定字元刪去
  • trim(string,charlist)
    string 要處理的字串
    charlist 可選。要轉換的字符串。
    如果省略該參數,則刪除以下所有字符:
    “\0″ – NULL
    “\t" – tab
    “\n" – new line
    “\x0B" – 縱向列表符
    “\r" – 回車
    " " – 普通空白字符

[PHP] 字串處理函數(一) 有 “ 4 則迴響 ”

  1. PHP 5.3 之後,ereg 不能使用了(會出現錯誤),因為 PHP 不再支援 Posix,只支援 Perl (正規式前後要加斜線 “/"),所以改用 preg_match 這個函數就可以了。

發表迴響