2012-05-22 50 views
6

我有一個字符串,像這樣:PHP函數返回字符串的第一部分,不會持續

$abcdef(+$1.00) 

我試圖讓第一個括號前的字符串的第一部分:

$abcdef 

目前,如果我用strstr()將指定的字符後返回字符串的一部分:

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

我想要發生之前的部分。什麼是strstr()會做到這一點的相反或相反的功能?

回答

12

傳遞true作爲第三個參數。

manual page you have linked

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

before_needle:如果爲真,的strstr()中的針的第一次出現之前返回草堆 的部分(不包括針)。

注意:該參數僅在PHP 5.3中添加。如果由於某種原因,你可能會碰到一個老版本的substr()strpos()組合應該有所幫助:

$newstr = substr($var, 0, strpos($var, '(')); 
+0

這就是我所要做的嗎?!?謝謝@bažmegakapa – bobbiloo

+0

@BobLiu閱讀手冊會創造奇蹟;)。 – kapa

4

第三集的strstr的真參數將針頭返回前發生

0

更好的方法來做到這一點在一個簡單的方法是:

$中newstr =爆炸( '(',$變種)[0];

說明: $結果=爆炸( 'search_for_this',$ search_in_this)[0];