phpにおける文字列に関する4つの関数substr、strrchr、strstrstr、eregの紹介と使用例
1690 ワード
一、文字列の一部を取る.
この関数は、文字列stringのstartビットからの文字列をlength文字から取り出します.startが負の数であれば、
文字列の末尾から計算されます.省略可能なパラメータlengthが存在するが負の数であれば、最後からlength番目の文字が取られることを示す.
二、ある文字が最後に現れた文字列を取得する.
この関数は、文字列haystackの文字needleが最後に表示される場所を探し、文字列から
haystack終了間の文字列が返されます.needleが見つからない場合はfalseを返します.
出力://localhost/test/test.php
三、文字列の中のある文字列の開始から終了までの文字列を返します.
この関数では、needleがhaystackで最初に表示され、haystackが終了する文字列が返されます.needleが見つからない場合はfalseを返します.
四、文字列の対比解析.
この関数はpatternのルールで比較文字列stringを解析します.比較結果から返される値は配列パラメータregsに格納され、regs[0]の内容は元の文字列string、regs[1]が最初の規則に合致する文字列、regs[2]が2番目の規則に合致する文字列であり、残りは類推される.パラメータregsを省略すると単純にペアリングするだけで,見つかったら戻り値はtrueとなる.
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 " ;
}