5

我有一个字符串,是这样的:

$abcdef(+$1.00)

我试图在第一个括号之前获取字符串的第一部分:

$abcdef

目前,如果我使用strstr()它将返回指定字符之后的字符串部分:

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

我想要发生之前的部分。strstr()的反向或相反功能是什么?

4

3 回答 3

11

将 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 的第三个参数设置为 true 它将在针之前返回出现

于 2012-05-22T17:38:50.003 回答
0

以简单的方式执行此操作的更好方法是:

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

解释: $result = explode('search_for_this' , $search_in_this)[0];

于 2014-10-20T17:04:41.803 回答