2012-01-23 35 views
8

Tôi có chuỗi sau và muốn sử dụng str_replace hoặc preg_replace để xóa các dấu ngoặc nhưng không chắc chắn như thế nào. Tôi đã có thể loại bỏ các dấu ngoặc mở bằng cách sử dụng str_replace nhưng không thể loại bỏ các dấu ngoặc đóng.Làm thế nào để loại bỏ các dấu ngoặc từ chuỗi trong php?

Đây là sting:

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

Tôi đã thử:

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

mà loại bỏ các dấu ngoặc mở nhưng bây giờ có ấn tượng rằng tôi cần preg_replace để loại bỏ cả hai.

Làm cách nào để thực hiện điều này?

Trợ giúp đánh giá cao

Trả lời

37

Hãy thử với:

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

Chỉ cần một lưu ý rằng điều này có thể có những hậu quả ngoài ý muốn. Ví dụ, khi $ coords = "(kiểm tra (nó) ra)" kết quả là "thử nghiệm nó ra" thay vì "thử nghiệm (nó) ra"; Một cách an toàn hơn có lẽ sẽ là sử dụng trim() theo gợi ý của Sarfraz. Str_replace hoạt động cho ví dụ này chỉ vì không có nhiều dấu ngoặc đơn. – Kelt

0

nó dễ dàng hơn bạn nghĩ, str_replace có thể có một mảng như tham số đầu tiên

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

hoặc chỉ str_replace hai lần ....

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

Nếu ngoặc luôn luôn đi trên beginging và kết thúc, bạn có thể sử dụng trim dễ dàng:

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

Kết quả:

51.50972493425563, -0.1323877295303646 
+1

Bạn đã nhanh hơn))) –

+0

Chỉ loại bỏ) các dấu ngoặc đơn. – Zaheerabbas

0

tôi nghĩ rằng bạn cần phải viết coords của bạn ở đây như là một chuỗi khác bạn nhận được lỗi cú pháp ;). Dù sao, đây là giải pháp tôi nghĩ.

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

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

Greets, Stefan

Các vấn đề liên quan