首頁 > PHP, 程式開發 > PHP忽略大小寫的字串處理

PHP忽略大小寫的字串處理

2013年6月18日 發表評論 閱讀評論

在PHP5 之後,有提供了字串處理時忽略大小寫的函式,蠻不錯用的而且也很好記憶,在此列出常用的幾個函式介紹:

 

strstr($str ,$keyword)  對應的函式就是stristr 

該函式主要是找出$keyword之後的字串(可以將原本要用substr函式才能處理的事簡化)

值得一提,在PHP 5.3.0 之後 strstr函式,增加一個參數  strstr($str ,$keyword [,$before_boolean=false]),如設定為true,則效果反向可以找出$keyword之前的字串

請參考http://php.net/manual/zh/function.stristr.php

 

strpos($str, $keyword [,$offset=0]) 對應的函式就是stripos

主要是回傳$str之中$keyword首次出現的位置

如果是要找最後一次出現的位置可以改用 strrpos 當然對應的函式是strripos

請參考http://www.php.net/manual/zh/function.stripos.php

 

str_replace($searchKeyword , $replace  ,$str) 對應的函式就是str_ireplace

可以將$str之中,全部的$searchKeyword都會換成$replace 

請參考http://php.net/manual/zh/function.str-ireplace.php

 

strcmp($str1  ,$str2) 對應的函式,要注意就不是常用的加上i 而是strcasecmp

可以針對$str1,及$str2 進行字串大小比對,$str1>$str2會回傳正數, 小於會回傳負數,相等會回傳0

請參考http://www.php.net/manual/zh/function.strcmp.php

然而這函式還有其它類似作用的函式 ,都一樣有提供忽略大小寫,如下:

strncmp(可指定比較時使用的最大長度) 對應的是strncasecmp,請參考http://www.php.net/manual/zh/function.strncmp.php

strnatcmp (自然順序的比較)對應的是strnatcasecmp,請參考http://www.php.net/manual/zh/function.strnatcmp.php

 

如果是要在preg_ match 或是preg_ match_all 之中忽略大小寫進行比對呢?

只要在$pattern之中加上i即可,例如 原本preg_match("/HI (.*?) from/",$str,$martchs)  只要改成這樣即可

preg_match("/HI (.*?) from/i",$str,$martchs)

詳細使用請參考 http://www.php.net/manual/zh/function.preg-match.php

Be Sociable, Share!
Categories: PHP, 程式開發 Tags:
  1. 目前尚無任何的評論。
  1. 目前尚無任何 trackbacks 和 pingbacks。

*