phpにおける文字列に関する4つの関数substr、strrchr、strstrstr、eregの紹介と使用例

1690 ワード

一、文字列の一部を取る.

   string substr(string string, int start, int [length]); 
 

この関数は、文字列stringのstartビットからの文字列をlength文字から取り出します.startが負の数であれば、
文字列の末尾から計算されます.省略可能なパラメータlengthが存在するが負の数であれば、最後からlength番目の文字が取られることを示す.
 
  
echo  substr ( "abcdef" ,  1 ,  3 );   // "bcd"
echo  substr ( "abcdef" , - 2 );     // "ef"
echo  substr ( "abcdef" , - 3 ,  1 );  // "d"
echo  substr ( "abcdef" ,  1 , - 1 );  // "bcde"

二、ある文字が最後に現れた文字列を取得する.

   string strrchr(string haystack, string needle); 
 

この関数は、文字列haystackの文字needleが最後に表示される場所を探し、文字列から
haystack終了間の文字列が返されます.needleが見つからない場合はfalseを返します.
 
  
$PATH="http://localhost/test/test.php";
$dir = substr( strrchr( $PATH, ":" ), 1 );
echo $dir;

出力://localhost/test/test.php
三、文字列の中のある文字列の開始から終了までの文字列を返します.

   string strstr(string haystack, string needle); 
 

この関数では、needleがhaystackで最初に表示され、haystackが終了する文字列が返されます.needleが見つからない場合はfalseを返します. 
四、文字列の対比解析.

   int ereg(string pattern, string string, array [regs]); 
 

この関数はpatternのルールで比較文字列stringを解析します.比較結果から返される値は配列パラメータregsに格納され、regs[0]の内容は元の文字列string、regs[1]が最初の規則に合致する文字列、regs[2]が2番目の規則に合致する文字列であり、残りは類推される.パラメータregsを省略すると単純にペアリングするだけで,見つかったら戻り値はtrueとなる.
 
  
if ( eregi ( "^ [ _/.0-9a-z- ] +@( [ 0-9a-z ][ 0-9a-z- ] +/.)+ [ a-z ]{ 2,3 }$ " , $email )) {
  echo  " E-Mail " ;
}