strstr的PHP函数相反返回字符串的第一部分,而不是最后一部分

时间:2012-05-22 17:35:41

标签: php string strstr

我有一个字符串,类似这样:

$abcdef(+$1.00)

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

$abcdef

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

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

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

3 个答案:

答案 0 :(得分:12)

将true作为第三个参数传递。

来自manual page you have linked

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, '(' ) );

答案 1 :(得分:4)

将strstr的第三个参数设置为true,它将在针

之前返回

答案 2 :(得分:0)

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

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

说明: $ result = explode('search_for_this',$ search_in_this)[0];