この記事の内容は、PHP が文字列の指定部分をシンボル (コード) でインターセプトする方法についての内容であり、一定の参考価値がありますので、困っている方は参考にしていただければ幸いです。
文字列インターセプトは PHP 開発で一般的に使用されます;
そしてインターセプトにはさまざまな種類の要件があります;
たとえば、URL リンクの操作
時々インターセプトしたい場合があります。最後のスラッシュ '/' の後の数字;
ユーザーが入力した URL リンクに http:// などが含まれているかどうかを判断するために、最初のスラッシュ '/' より前のコンテンツをインターセプトする必要がある場合があります。 ##文字列をインターセプトするための php 組み込み関数が多数あります;
1 $str='123/456/789/abc';
最初のスラッシュの前のコンテンツをインターセプトします次のようになります:
1 echo substr($str,0,strpos($str, '/'))
または
1 $array=explode('/', $str); 2 echo $array[0]; 3 // 输出 123
最初のスラッシュの後のコンテンツは次のようにインターセプトできます:
echo trim(strrchr($str, '/'),'/');
ご存知の場合スラッシュ
1 $array=explode('/', $str); 2 echo $array[3]; 3 //输出 abc
スラッシュの数がわからない場合はどうすればよいですか? 2 番目のスラッシュと 3 番目のスラッシュの間のコンテンツが必要な場合はどうすればよいでしょうか?
次の関数は、上記の問題をすべて簡単に解決できます;/** * 按符号截取字符串的指定部分 * @param string $str 需要截取的字符串 * @param string $sign 需要截取的符号 * @param int $number 如是正数以0为起点从左向右截 负数则从右向左截 * @return string 返回截取的内容 */ function cut_str($str,$sign,$number){ $array=explode($sign, $str); $length=count($array); if($number<0){ $new_array=array_reverse($array); $abs_number=abs($number); if($abs_number>$length){ return 'error'; }else{ return $new_array[$abs_number-1]; } }else{ if($number>=$length){ return 'error'; }else{ return $array[$number]; } } }
Example
1 echo cut_str($str,'/',0); //输出 123 2 echo cut_str($str,'/',2); //输出 789 3 echo cut_str($str,'/',-1);//输出 abc 4 echo cut_str($str,'/',-3);//输出 456
関連する推奨事項:
PHP は記号に従って文字列の指定された部分をインターセプトしますPHP は記号に従って文字列をインターセプトするコード指定された長さ以上がPHPで文字列の指定部分をシンボルでインターセプトする方法(コード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。