5

次のような文字列があります。

$abcdef(+$1.00)

最初のかっこの前に文字列の最初の部分を取得しようとしています:

$abcdef

現在、使用strstr()すると、指定した文字の後の文字列の一部が返されます。

$newstr = strstr($var, '(');

発生前の部分が欲しい。それを行うstrstr()の逆または反対の機能は何ですか?

4

3 に答える 3

11

3 番目のパラメーターとして true を渡します。

リンクしたマニュアルページから:

string strstr (string $haystack , mixed $needle [, bool $before_needle = false ])

before_needle : TRUE の場合、strstr() は、針が最初に出現する前の干し草の山 (針を除く) の部分を返します。

注:このパラメーターは、PHP 5.3 でのみ追加されました。何らかの理由で古いバージョンが残っている場合は、 と の組み合わせがsubstr()役立ちstrpos()ます。

$newstr = substr( $var, 0, strpos( $var, '(' ) );
于 2012-05-22T17:37:20.387 に答える
4

strstr の 3 番目のパラメーターを true に設定すると、針の前に出現が返されます

于 2012-05-22T17:38:50.003 に答える
0

これを簡単な方法で行うためのより良い方法は次のとおりです。

$newstr = 爆発('(',$var)[0];

説明: $result = expand('search_for_this' , $search_in_this)[0];

于 2014-10-20T17:04:41.803 に答える