何、このような文字列からのみimportant_stuff一部を取得するための最速の方法です:文字列から文字列の後に文字列を取得します
bla-bla_delimiter_important_stuff
_delimiter_
が常にあるが、しかし、文字列の残りの部分を変更することができます。ここで
何、このような文字列からのみimportant_stuff一部を取得するための最速の方法です:文字列から文字列の後に文字列を取得します
bla-bla_delimiter_important_stuff
_delimiter_
が常にあるが、しかし、文字列の残りの部分を変更することができます。ここで
$string = "bla-bla_delimiter_important_stuff";
list($junk,$important_stufF) = explode("_delimiter_",$string);
echo $important_stuff;
> important_stuff
私はリストの使用が好きです。あなたが最初に配列を持っていたとき、あなたが知っていたPHPのpythonのような機能を私に見せてくれたと思いました! –
cool。ありがとうございます:) – Alex
$importantStuff = array_pop(explode('_delimiter_', $string));
これは、array_popが参照を使用するので、 'E_STRICT'エラー('厳密な標準:変数は参照によって渡されなければなりません ')を投げます。 –
$result = end(explode('_delimiter_', 'bla-bla_delimiter_important_stuff'));
非常にスマートなソリューション。 – andcl
これは以下を投げます:厳格な基準:変数のみが参照渡しされるべきです。あなたは一時変数にexplode()を代入する必要があります。 –
私はこの方法が好き:文字列の末尾に区切りの端から
$str="bla-bla_delimiter_important_stuff";
$del="_delimiter_";
$pos=strpos($str, $del);
切断
'0' の文字列の先頭のsubstrため1)strpos &はstrlenのために多分1つの文字区切り文字を使用して)
2( '1' から始まる)文字列のサイズを取るのに対し:
ノート良いアイデア
は、アンダースコアが文字通り存在するかどうかを介してsom混乱しているようです。以下の解決策はすべて良いです。 –
['s($ str) - > afterFirst( '_delimiter_')'](https://github.com/delight-im/PHP-Str/blob/8fd0c608d5496d43adaa899642c1cce047e076dc/src/Str.php#L435)または ''($ str) - > afterLast( '_delimiter_') '](https://github.com/delight-im/PHP-Str/blob/8fd0c608d5496d43adaa899642c1cce047e076dc/src/Str.php#L445)を参考にしてください。 [このスタンドアロンライブラリ](https://github.com/delight-im/PHP-Str)にあります。 – caw