2012-01-23 11 views
8

मेरे पास निम्न स्ट्रिंग है और ब्रैकेट को हटाने के लिए str_replace या preg_replace का उपयोग करना चाहते हैं लेकिन मुझे यकीन नहीं है कि कैसे। मैं str_replace का उपयोग कर उद्घाटन ब्रैकेट को हटाने में सक्षम हूं लेकिन बंद ब्रैकेट को हटा नहीं सकता।php में स्ट्रिंग से ब्रैकेट को कैसे निकालें?

$coords = '(51.50972493425563, -0.1323877295303646)'; 

मैं कोशिश की है:

यह डंक है

<?php echo str_replace('(','',$coords); ?> 

जो धारणा है कि मैं preg_replace जरूरत दोनों को दूर करने के तहत खोलने कोष्ठक हटा दिया, लेकिन अब कर रहा हूँ।

कोई इस बारे में कैसे जाता है?

सहायता की सराहना की

उत्तर

37

प्रयास करें साथ:

str_replace(array('(', ')'), '', $coords); 
+3

बस एक नोट यह अनपेक्षित परिणाम हो सकता है। उदाहरण के लिए, जब $ coords = "(परीक्षण (इसे) बाहर)" परिणाम "परीक्षण (इसे बाहर)" के बजाय "इसका परीक्षण" कर रहा है; सर्फ्राज़ द्वारा सुझाए गए अनुसार एक सुरक्षित तरीका संभवतः ट्रिम() का उपयोग करना होगा। Str_replace केवल इस उदाहरण के लिए काम करता है क्योंकि एकाधिक ब्रांड्स नहीं हैं। – Kelt

0

यह आसान से आपको लगता है है, str_replace पहले पैरामीटर के रूप एक सरणी हो सकता है

<?php echo str_replace(array('(',')'),'',$coords); ?> 
0
echo str_replace(
    array('(',')'), array('',''), 
    $coords); 

या सिर्फ दो बार str_replace है ....

echo str_replace(')', '', str_replace('(','',$coords)); 
28

कोष्ठक हमेशा beginging और अंत पर आते हैं, तो आप आसानी से trim उपयोग कर सकते हैं:

$coords = trim($coords, '()'); 

परिणाम:

51.50972493425563, -0.1323877295303646 
+1

आप तेज़ थे)) –

+0

यह केवल हटा है) ब्रैकेट्स। – Zaheerabbas

0

मैं तुम यहाँ किसी और आप प्राप्त एक स्ट्रिंग के रूप में अपने coords लिखने के लिए की जरूरत है वक्य रचना त्रुटि ;)। वैसे भी, यह समाधान मुझे लगता है।

$coords = "(51.50972493425563, -0.1323877295303646)"; 

$aReplace = array('(', ')'); 
$coordsReplaced = str_replace($aReplace , '', $coords); 

स्वागत करती है, स्टीफन

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