与えられた
$str = "asd/fgh/jkl/123
最後のスラッシュの後に文字列の一部を取得したい場合は、関数を使用できますstrrchr()
か? 関数ではないphpで、文字列部分を取得するには、最後のスラーの前に、それはasd/fgh/jkl
?
これが正規表現または他の方法で作成できることは知っていますが、内部機能について質問していますか?
使用できます
$str = "asd/fgh/jkl/123";
echo substr($str, 0,strrpos($str, '/'));
出力
asd/fgh/jkl
この強力なカスタム関数を使用してください
/* $position = false and $sub = false show result of before first occurance of $needle */
/* $position = true and $sub false show result of before last occurance of $needle */
/* $position = false and $sub = true show result of after first occurance of $needle */
/* $position = true and $sub true show result of after last occurance of $needle */
function CustomStrStr($str,$needle,$position = false,$sub = false)
{
$Isneedle = strpos($str,$needle);
if ($Isneedle === false)
return false;
$needlePos =0;
$return;
if ( $position === false )
$needlePos = strpos($str,$needle);
else
$needlePos = strrpos($str,$needle);
if ($sub === false)
$return = substr($str,0,$needlePos);
else
$return = substr($str,$needlePos+strlen($needle));
return $return;
}