2012-05-22 7 views
6

मैं एक स्ट्रिंग, कुछ इस तरह है:strstr की विपरीत पीएचपी समारोह श्रृंखला का पहला हिस्सा वापस जाने के लिए है, न कि पिछले

$abcdef(+$1.00) 

मैं पहली बार कोष्ठक से पहले श्रृंखला का पहला हिस्सा पाने के लिए कोशिश कर रहा हूँ:

$abcdef 

वर्तमान में अगर मैं strstr() का उपयोग यह निर्दिष्ट चरित्र के बाद स्ट्रिंग के भाग वापस आ जाएगी:

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

मैं घटना से पहले हिस्सा चाहता हूँ। strstr() का रिवर्स या विपरीत फ़ंक्शन क्या है जो ऐसा करेगा?

उत्तर

12

तीसरे पैरामीटर के रूप में सत्य पास करें।

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];

संबंधित मुद्दे