我有一个字符串,是这样的:
$abcdef(+$1.00)
我试图在第一个括号之前获取字符串的第一部分:
$abcdef
目前,如果我使用strstr()
它将返回指定字符之后的字符串部分:
$newstr = strstr($var, '(');
我想要发生之前的部分。strstr()的反向或相反功能是什么?
将 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, '(' ) );
将 strstr 的第三个参数设置为 true 它将在针之前返回出现
以简单的方式执行此操作的更好方法是:
$newstr = explode('(',$var)[0];
解释: $result = explode('search_for_this' , $search_in_this)[0];