我有一个字符串,类似这样:
$abcdef(+$1.00)
我试图在第一个括号之前得到字符串的第一部分:
$abcdef
目前,如果我使用strstr()
,它将返回指定字符后的字符串部分:
$newstr = strstr($var, '(');
我想要在发生之前的部分。 strstr()的反向或反向功能是什么呢?
答案 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];